Hallo zusammen
Ich habe ein Problem.
in der Schule sollten wir "Türme von Hanoi" programmieren. Das hat auch gut geklappt. Zu Hause wollte ich das Spiel dann auch haben, hab es bei mir aufm PC genau so wie in der Schule programmiert, aber es funktioniert nicht!
Das versetzen der Steine funktioniert mit löschen im einen und zeichnen im anderen Image! Beide Operationen funktionieren durch Funktionen!
Wenn ich nun einen Stein versetzen will, dann löscht er ihn im einen Image, aber er erscheint nicht im anderen Image! Führt man nun das Spiel fort und denkt sich den Stein auf der neuen Position, kann man mit diesem weiterspielen. Er wird also folglich nicht richtig gemalt! Zumindest vermute ich es. Man könnte sagen, der Stein (ein Rectangle) wäre quasi durchsichtig!
Die Funktion "zeichnen" sieht so aus:
Delphi-Quellcode:
procedure zeichnen(y,b,n:Integer);
begin
IF n=1 THEN
begin
Form1.Image1.Canvas.Brush.Color:=clskyblue;
Form1.Image1.Canvas.Rectangle((b*15),300-((y+1)*30),(b*15),300-((y+2)*30));
end;
IF n=2 THEN
begin
Form1.Image2.Canvas.Brush.Color:=clskyblue;
Form1.Image2.Canvas.Rectangle((b*15),300-((y+1)*30),(b*15),300-((y+2)*30));
end;
IF n=3 THEN
begin
Form1.Image3.Canvas.Brush.Color:=clskyblue;
Form1.Image3.Canvas.Rectangle((b*15),300-((y+1)*30),(b*15),300-((y+2)*30));
end;
end;
Hört sich alles etwas komisch an, aber ich hoffe, dass mir jemand helfen kann! In der Schule hat es wie gesagt genau so geklappt. Kann das evtl. auch an unteschiedlichen Delphi-Versionen liegen? Auf den PC's in der Schule ist Delphi 6 installiert, bei mir hingegen Delphi 7!
Jetzt schon mal danke!
Gruß Pascal