Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Autorennen-Probleme


Sputyyy - Do 13.01.11 16:26
Titel: Autorennen-Probleme
Ich habe ein einfaches Autorennen programmiert und nun möchte ich gerne, dass wenn ein Auto gewinnt, der Sieg gezählt wird.
Das heißt wenn ein Auto gewinnt soll das Label eins hinaufzählen. Ich habe für jedes Auto einen Timer erstellt. Doch wie soll ich es schreiben?


Delphi-Quelltext
1:
2:
3:
4:
5:
If car1.checked = true then
begin
Label1.Caption := Zahl+1;
end;
// So in etwa?


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


bummi - Do 13.01.11 16:29

Wie kannst Du ein Spiel programmieren ohne die Basics zu kennen?


jaenicke - Do 13.01.11 16:32

Und insbesondere hast du StrToInt und IntToStr bereits verwendet. Willst du ernsthaft behaupten, du hast das selbst geschrieben, wenn du doch offensichtlich gar nicht weißt was die Befehle machen? :roll:

Jedenfalls brauchst du genau die Befehle auch hier. Eine Zahl kannst du nicht in einen String wie Caption schreiben. Zudem musst du den vorherigen Wert auch erst auslesen bevor du ihn erhöhen kannst.

Ja, und auf True vergleichen ist keine gute Idee... Richtig:

Delphi-Quelltext
1:
2:
3:
if car1.checked then
begin
  ...


HenryHux - Do 13.01.11 16:39

Vielleicht wäre es besser, wenn du eine neue Variable anlegst für die Anzahl der Wins.
Angenommen die Variable heißt Win, dann müsstest du die immer um eins anheben. Das geht mit

Delphi-Quelltext
1:
2:
inc(Win) // andere Schreibweise für
win := win + 1;

Wenn du das direkt in den Labels machen willst, musst du das erst in eine Zahl umformen, denn die Captions in Labels haben das Format String, mit welchen du nicht rechnen kannst.


Sputyyy - Do 13.01.11 16:54

ja ich habe es selbst programmiert .. :idea:
und danke für die Antworten .. Ich hoffe ich kann sie umsetzen..