Folgender Programmcode soll die Einsätze beim Roulettespiel checken:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function Tcroupier.checkbet(betname:string;amount:integer):boolean; begin if betname = 'plein' then begin if (amount > Fbet.plein.max) xor ((Ftotalbet + amount) > Fmaxbet) then checkbet := false else checkbet := true; end; end; |
amount = Das was man gerade wettet -> z.b 10 auf die 5
Fbet.plein.max = Maximum was man auf ne zahl setzen darf
Ftotalbet = Das was man insggesamt schon in der Runde gesetzt hat
Fmaxbet = Maximaler Wetteinsatz pro Runde
Dabei gibt jetzt folgendes Problem:
Es wird nicht beachtet was schon auf eine Zahl gesetzt ist:
Z.b ist es moeglich obwohl die Begrenzung von einer PLEINWETTE auf 50 gelegt ist 6mal 10 euro darauf zu setzen!
Wenn ich jetzt auch checken will wieviel auf eine zahl schon gesetzt wurde (BZW. überhaupt auf eine spezielle Chance) dann müsste ich ja für JEDES verschiedenes LABEL was mana uf dem Spielbrett setzen kann sone IF funktion machen oder? Sprich: ca. 100!
Alle Carrechancen, alle halbchancen, etc.
Kann die Klasse Tcroupier in der diese Funktion ist nicht irgendwie anders erkennen WELCHE chance gedrückt wurde?
Ich hoffe jemand versteht dass Problem. Ich möchte einfach unmengen an Code sparen.