Hallo,
beim Herumspielen mit Delphi kam mir die Idee, das Würfelspiel Kniffel zu programmieren. Man muss dazu sagen, dass ich sicherlich kein Experte bin, dieses Programm zu erstellen gelingt mir jedoch bis jetzt recht gut.
Auf Knopfdruck werden 5 Zufallszahlen erstellt.
Wenn der Spieler sich nun entscheidet, dass er gerne die Einser eintragen lassen möchte, geschieht das mit einem weiteren Button.
Code:
var
einser1 : integer;
begin
einser1 := 0;
if z1 = 1 then
einser1 := einser1 + 1;
if z2 = 1 then
einser1 := einser1 + 1;
if z3 = 1 then
einser1 := einser1 + 1;
if z4 = 1 then
einser1 := einser1 + 1;
if z5 = 1 then
einser1 := einser1 + 1;
Button3.Caption := inttostr(einser1);
Nun stehe ich aber vor dem Problem, dass das Programm einen Full House (also drei gleiche Zahlen sowie zwei gleiche, andere Zahlen) erkennen soll. Natürlich kann ich mich mit if durch jede Kombination durchfragen, dies ist aber sehr mühselig, ineffizient und unübersichtlich.
Code:
if (z1 = 1) and (z2 = 1) and (z3 = 1) and (z4 = 2) and (z5 = 2) then begin
[...]
if (z1 = 1) and (z2 = 1) and (z3 = 1) and (z4 = 3) and (z5 = 3) then begin
Hat ein schlauer Mensch eine Idee, wie ich das einfacher und ohne so viel Schreibarbeit lösen kann?