Einzelnen Beitrag anzeigen

t1mm

Registriert seit: 11. Dez 2016
1 Beiträge
 
#1

Full House - Wie effizient programmieren?

  Alt 11. Dez 2016, 15:45
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.
Code:
z1 := random(6)+1;
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?
  Mit Zitat antworten Zitat