Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem bei Image (https://www.delphipraxis.net/66088-problem-bei-image.html)

huefte 24. Mär 2006 15:09


Problem bei Image
 
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

inherited 24. Mär 2006 15:22

Re: Problem bei Image
 
Poste mal den Code wo Zeichnen aufgerufen wird

huefte 24. Mär 2006 15:27

Re: Problem bei Image
 
Delphi-Quellcode:

IF RadioButton1.Checked=true THEN
 IF (l[0]=0) OR (m[0]=7) OR ((m[0]>0) AND (l[l[0]]<m[m[0]])) THEN ShowMessage ('Falscher Spielzug')
      ELSE begin
           loeschen(l[0],1);
           zeichnen(m[0],l[l[0]],2);
           m[m[0]+1]:=l[l[0]];
           m[0]:=m[0]+1;
           l[l[0]]:=0;
           l[0]:=l[0]-1;
           end;

huefte 26. Mär 2006 00:50

Re: Problem bei Image
 
Liste der Anhänge anzeigen (Anzahl: 1)
Da bin ich wieder!
Mein erstes problem hat sich erledigt. War en sau doofer Fehler. Nun ja, wie gesagt das geht, aber mein Spiel funktioniert nit richtig :-( Und ich kenne auch nicht die Lösung des Problems :-( :-( :-(
Vllt findet ja jemand das Problem. Ich weiß halt nit weiter!

Gruß Pascal

PS: Die Stringgrids dienen hier nur zur Veranschaulichung und machen "sichtbar" was hinter den Kulissen passiert

EDIT
Problem behoben. Funktioniert jetzt alles so weit! Man kann es bisher nur selber spielen. Eine automatische Lösung gibt es noch nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz