Autor Beitrag
lexo
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 10.11.05 08:46 
Guten Morgen!
Ich bin hier am verzweifeln ;)
Und zwar geht es um meine Snake-Version. Klappt eigentlich alles bestens, bis auf dass, wenn ich nach rechts gehe, ein schwarzer Punkt da bleibt und wenn ich dann dagegen "fahre" habe ich verloren. Also er verschwindet nicht, wie die anderen. Ich hab keine Ahnung woran des liegen könnte.
Könnte mir jemand von euch weiterhelfen?

Thx for answers
Lexo
Einloggen, um Attachments anzusehen!
ähM_Key
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88

Windows XP Professional
D7 Enterprise
BeitragVerfasst: Do 10.11.05 10:01 
Hi!

Das
ausblenden Delphi-Quelltext
1:
2:
procedure TForm1.Timer1Timer(Sender: TObject);
Procedure Erzeugen;


kommt mir etwas komisch vor. Schreibt man da nicht

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
Procedure Erzeugen;
[...]

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Erzeugen;



MK

_________________
Alles geht ni! Aber ein bissl' was muss!
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Do 10.11.05 10:06 
Guten Morgen!

@ähM_Key: Nein, das ist völlig ok. Man kann innerhalb einer Procedure eine "Unter-Procedure" implementieren.

@lexo: Erstmal willkommen in der Ecke! :wink2:

Statt den ganzen Quelldateien anzuhängen wäre es sinnvoll nur die wirklich wichtigen Code-Teile in Deinem Beitrag zu posten. Und mach dir bitte die Mühe deinen Sourcecode einzurücken. Denn ansonsten können die User die dir helfen wollen deinen Sourcecode kaum lesen/verstehen.

Lg Martin

_________________
Ein Nutzer der Ecke ;-)
ähM_Key
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 88

Windows XP Professional
D7 Enterprise
BeitragVerfasst: Do 10.11.05 10:16 
Kann man, ich find's aber zwecks der Übersicht nicht wirklich sinnvoll.

Dann kann man sich die Prozeduren ja auch gleich sparen, und alles am Stück in den Timer reinschreiben...

MK

_________________
Alles geht ni! Aber ein bissl' was muss!
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Do 10.11.05 10:22 
user profile iconähM_Key hat folgendes geschrieben:
Kann man, ich find's aber zwecks der Übersicht nicht wirklich sinnvoll.

Hätte er den Sourcecode sinnvoll formatiert dann leidet die Übersichtlichkeit bei Benutzung von Unterproceduren in keinster weise... meine Meinung ;-) und wir kommen vom Thema ab. ;-)

Lg Martin

_________________
Ein Nutzer der Ecke ;-)
lexo Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 10.11.05 11:41 
Ok habe mal den Code formatiert ;) Tut mir Leid, dass er so unordentlich war.
Hm ich habe keine Ahnung woran es liegen könnte. Nun gut eine Vermutung wäre hier :
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
procedure loeschen(xkord,ykord: integer);
  Begin
    if image.Canvas.Pixels[xk+1,yk]=clblack then
      begin
        xk:=xk+1;
        yk:=yk;
        image.Canvas.Pixels[xk,yk]:= clwhite;
      end
    else

      if image.Canvas.Pixels[xk+1,yk+1]=clblack then
        begin
          xk:=xk+1;
          yk:=yk+1;
          image.Canvas.Pixels[xk,yk]:= clwhite;
        end
      else

         if image.Canvas.Pixels[xk+1,yk-1]=clblack then
          begin
            xk:=xk+1;
            yk:=yk-1;
            image.Canvas.Pixels[xk,yk]:= clwhite;
          end
        else

          if image.Canvas.Pixels[xk,yk+1]=clblack then
            begin
              xk:=xk;
              yk:=yk+1;
              image.Canvas.Pixels[xk,yk]:= clwhite;
            end
          else

            if image.Canvas.Pixels[xk,yk-1]=clblack then
              begin
                xk:=xk;
                yk:=yk-1;
                image.Canvas.Pixels[xk,yk]:= clwhite;
              end
            else

              if image.Canvas.Pixels[xk-1,yk+1]=clblack then
                begin
                  xk:=xk-1;
                  yk:=yk+1;
                  image.Canvas.Pixels[xk,yk]:= clwhite;
                end
              else

                if image.Canvas.Pixels[xk-1,yk]=clblack then
                  begin
                    xk:=xk-1;
                    yk:=yk;
                    image.Canvas.Pixels[xk,yk]:= clwhite;
                  end
                else

                  if image.Canvas.Pixels[xk-1,yk-1]=clblack then
                    begin
                      xk:=xk-1;
                      yk:=yk-1;
                      image.Canvas.Pixels[xk,yk]:= clwhite;
                    end;

  End;


Könnte das da irgendwo sein? Wie gesagt, es ist nur, wenn ich nach rechts gehe.

MfG
Lexo

//edit: Hab des Problem gelöst!