Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tippspiel bei einem "Rectangle-Rennen" (https://www.delphipraxis.net/12014-tippspiel-bei-einem-rectangle-rennen.html)

Piwi 18. Nov 2003 19:23


Tippspiel bei einem "Rectangle-Rennen"
 
Tachchen,

bräuchte seit langem mal wieder ein bisschen Hilfe. :mrgreen: Habe hier mal so eine Art Rennen mit Rechtecken in einem Image-Feld gemacht. Vier Rechtecke, vier verschiedene Farben in einem Timer, durch eine zufällige Verschiebung der x-Koordinate nach rechts ergeben sich somit verschiedene Geschwindigkeiten.

Die Reihenfolge wie die Rechtecke die Ziellinie (Bildbreite) überqueren, wird in einer Listbox festgehalten. Nun das Problem:

Es soll noch ein Tippspiel eingebaut werden. 4 Teilnehmer, jeder darf auf eines der vier Rectangles setzen. Der Tippspielsieger soll in einem Editfeld angezeigt werden. Für das Tippspiel habe ich ein zweites Formular erstellt, die Namen der Tipper in Editfeldern, daneben Comboboxes mit den Werten 1-4.

Problem: Ich schaffe es nicht, den obersten Wert der Listbox (Sieger des Rennens) anzusprechen und mit den getippten Ergebnissen zu vergleichen. :(

Hier mal ein Ausschnitt des Programmtextes:

Zweites Formular (Tippspiel):

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);

begin
tippa:=strtoint(combobox1.text);
tippb:=strtoint(combobox2.text);
tippc:=strtoint(combobox3.text);
tippd:=strtoint(combobox4.text);

form2.hide;
end;
Versuch des Vergleiches des Getippten mit dem tatsächlichem Ergebnis:

Delphi-Quellcode:
if (x) or (x1) or (x2) or (x3) < 0 then begin
listbox1.multiselect:=false;
V:=strtoint(listbox1.items[0]);
P:=form1.edit1.text;
case V of

tippa : P:=(form2.edit1.text);
tippb : P:=(form2.edit2.text);
tippc : P:=(form2.edit3.text);
tippd : P:=(form2.edit4.text);

else
form1.Edit1.text:='Kein Tipp!';

{Alternativmöglichkeit (funktioniert auch nicht)

V:=strtoint(listbox1.items[0]);
if V = tippa
then form1.edit1.text:=form2.edit1.text;
if V = tippb
then form1.edit1.text:=form2.edit2.text;
if V = tippc
then form1.edit1.text:=form2.edit3.text;
if V = tippd
then form1.edit1.text:=form2.edit4.text;}

end; //of case
end; //of if
Angezeigte Fehlermeldung "Konstantenausdruck erwartet" :wiejetzt:

Danke im Voraus :)

axelf98 18. Nov 2003 19:34

Re: Tippspiel bei einem "Rectangle-Rennen"
 
Sprich die Comboboxen doch mal so an:

Delphi-Quellcode:
tippa := strtoint(combobox1.items[0]);
tippb := strtoint(combobox1.items[1]);
.
.
.

Piwi 20. Nov 2003 18:39

Re: Tippspiel bei einem "Rectangle-Rennen"
 
Ne ich glaub das bringt nix. Das was in den Comboboxen steht ist ja klar definiert, der vergleich zwischen dem Aktiviertem Objekt der 4 Komboboxen und dem obersten Objekt der Listbox muss irgendwie hinbekommen werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 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