AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei Image

Ein Thema von huefte · begonnen am 24. Mär 2006 · letzter Beitrag vom 25. Mär 2006
Antwort Antwort
huefte

Registriert seit: 2. Feb 2005
Ort: Illingen
50 Beiträge
 
Delphi 7 Enterprise
 
#1

Problem bei Image

  Alt 24. Mär 2006, 14:09
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
Pascal Schmitt
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Problem bei Image

  Alt 24. Mär 2006, 14:22
Poste mal den Code wo Zeichnen aufgerufen wird
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
huefte

Registriert seit: 2. Feb 2005
Ort: Illingen
50 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Problem bei Image

  Alt 24. Mär 2006, 14:27
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;
Pascal Schmitt
  Mit Zitat antworten Zitat
huefte

Registriert seit: 2. Feb 2005
Ort: Illingen
50 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Problem bei Image

  Alt 25. Mär 2006, 23:50
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
Angehängte Dateien
Dateityp: rar hanoi_114.rar (234,4 KB, 12x aufgerufen)
Pascal Schmitt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz