| Autor |
Beitrag |
kevinsky1111
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 29.06.09 06:25
Ich muss für die schule ein spiel mit delphi programmieren und weiß nicht ob das was ich da geschrieben habe stimmt(bin ein Anfänger):
also die sachlage ist die, ich habe ein label das label hat die farbe cllimo wenn ich einen button (ist unwichtig) drücke dann erscheint eine zahl dadurch wird das label rot eingefärbt. Falls diese zahl nochmal vorkommt sollte mein label nicht noch mal rot werden sondern ich einem anderen label hineinschreiben "Sie haben verloren"
das ist der derzeitige code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| begin if label4.font.color=clred then if label4.font.color:=clred then label24.caption:='Sie haben verloren!'; end; |
nun stell ich mir die frage ob das richtig ist?
Moderiert von Gausi: Delphi-Tags hinzugefügtModeriert von Gausi: Topic aus Multimedia / Grafik verschoben am Mo 29.06.2009 um 07:39
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Mo 29.06.09 06:51
Erstens klemmt deine Shift-Taste, zweitens kannst Du das doch probieren und drittens: Nein. Lies den Code mal vor, indem Du das auf Deutsch übersetzt.
"Wenn die Farbe vom Label rot ist, dann: Wenn die Farbe vom Label rot ist dann schreib in ein anderes Label 'Sie haben verloren'".
Quark? Quark!
Wenn der Button geklickt wird, schaust Du nach, ob die das Label schon rot ist. Wenn JA, gibst du aus 'Verloren', SONST färbst Du das Label rot.
Das Ganze nun zurück in Delphi übersetzen und: Fertig.
_________________ Na denn, dann. Bis dann, denn.
|
|
ffgorcky
      
Beiträge: 573
WIN XP/2000 & 7Prof (Familie:Win95,Win98)
|
Verfasst: Mo 29.06.09 08:52
Also möchtest Du ein Spiel schreiben, in dem Du zum Beispiel mit einem Würfel möglichst alle 6 unterschiedlichen Zahlen hintereinander würfelst?
Sprich: Du möchtest in etwa so was machen?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure wieAuchImmerSieHeisst(); var derzeitigesLabel:TLabel; begin zahl:=random(5)+1; derzeitigesLabel:=FindComponent('Label'+IntToStr(zahl); if derzeitigesLabel.Color:=clred then MessageBox(Handle,'Sie haben leider erneut dieselbe Zahl gewürfelt!'+#13#10+'Damit ist das Spiel vorbei!','Leider verloren!',MB_OK) else derzeitigesLabel.Color:=clred; end; |
....oder habe ich Dein Problem gerade falsch verstanden?
|
|
kevinsky1111 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 29.06.09 13:12
alzaimar hat folgendes geschrieben : |
Wenn der Button geklickt wird, schaust Du nach, ob die das Label schon rot ist. Wenn JA, gibst du aus 'Verloren', SONST färbst Du das Label rot.
|
ich habs geschafft aber da ist noch ein problem:
ich hab noch 8 dieser labels.
beim 1. funktionierts, doch beim 2. steht immer da 'Sie haben verloren'.
Wo steckt der Fehler?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| begin if label5.color=clred then label24.caption:='Sie haben verloren!' else begin if ergebnis=2 then Label5.Color := clred; end; end; begin if label6.color=clred then label24.caption:='Sie haben verloren!' else begin if ergebnis=3 then Label6.Color := clred; end; end; |
Moderiert von Kha: Delphi-Tags hinzugefügt
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 29.06.09 13:19
|
|
kevinsky1111 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 29.06.09 13:21
Weitere Frage:
Ich bin mir sicher das ich es so schreiben muss, doch was ist an diesen beiden zeilen falsch:
Delphi-Quelltext 1: 2:
| if label5.color=clred and ergebnis=2 then label24.caption:='Sie haben verloren!' |
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 29.06.09 13:23
Delphi-Quelltext 1: 2:
| if Label5.Color = clRed and (ergebnis = 2) then Label24.Caption := 'Sie haben verloren!'; |
|
|
kevinsky1111 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 29.06.09 13:25
Nur zur Verständniss:
dieses Spiel sollte es werden:
upload.wikimedia.org.../35/Shut_the_box.jpg
Moderiert von Christian S.: Img- und Url-Tags umgewandelt ... bisschen groß sonst 
|
|
kevinsky1111 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 29.06.09 13:29
dann bekomm ich das:
Delphi-Quelltext 1: 2:
| if label5.color=clred and (ergebnis=2) then label24.caption:='Sie haben verloren!' |
[Error] Unit1.pas(102): Operator not applicable to this operand type
Moderiert von Christian S.: Delphi-Tags hinzugefügt
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 29.06.09 13:30
Ja, beim ersten Vergleich fehlt noch die Klammer, die hab ich beim Highlighten vergessen...
Nimm doch mal ein kleineres Bild, das zerlegt ja das ganze Layout...
(Außerdem reicht der Link zu Wikipedia, am Bild sieht man ja eh nicht wie das Spiel läuft.)
Zuletzt bearbeitet von jaenicke am Mo 29.06.09 13:31, insgesamt 1-mal bearbeitet
|
|
Georg08
      
Beiträge: 155
Erhaltene Danke: 6
Win XP
Delphi 7.0 Personal
|
Verfasst: Mo 29.06.09 13:31
schreibst du etwa für jedes label eine eigene if-abfrage?
steck das ganze doch in eine allgemeinere variante 
|
|
Tilo
      
Beiträge: 1098
Erhaltene Danke: 13
Win7 geg. WInXP oder sogar Win98
Rad2007
|
Verfasst: Mo 29.06.09 13:34
kevinsky1111 hat folgendes geschrieben : | dann bekomm ich das:
if label5.color=clred and (ergebnis=2)
then label24.caption:='Sie haben verloren!'
[Error] Unit1.pas(102): Operator not applicable to this operand type |
kleiner Tipp: Nutze Formatierungstags (unter "Bereiche" über dem Editorfenster)
and ist höherwertig als "=" demnach müsste Du es so schreiben:
Delphi-Quelltext 1: 2:
| if (label5.color=clred) and (ergebnis=2) then label24.caption:='Sie haben verloren!' |
so hat jaenicke es gemeint.
sehe das Christian S. schon die Tags eingefügt hat.
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 29.06.09 13:34
Ja, vor allem geht eine Prüfung auf ein bestimmtes Ergebnis ja sowieso nicht. Man kann ja ggf. aussuchen welche Klappen man schließt... 
|
|
kevinsky1111 
Hält's aus hier
Beiträge: 6
|
Verfasst: Mo 29.06.09 13:37
dannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnke Sebastian jänicke und alle die mir geholfen haben!
hast mir sehr geholfen
|
|