Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Variablen effektiv vergleichen?
OmNiBrAiN - Do 08.05.03 14:55
Titel: Variablen effektiv vergleichen?
Hallöchen
Ich habe folgendes Problem: Ich will eine Art Kniffel programmieren und suche eine Möglichkeit, die 6 Variablen zu vergleichen (also dass das Programm erkennt, dass z.b. 3 von den gewürfelten Zahlen gleich sind), ohne für jeden möglichen Fall eine einzelne if-Anweisung schreiben zu müssen (das wären dann nämlich ne ganze Menge ^^)
gibt es da eine elegantere Lösung?
Klabautermann - Do 08.05.03 15:11
Hallo,
wie währe es mit dem ansatz:
Du erstellst ein 6-Elementiges Array vom Typ Byte. Für jede mögliche Augenzahl ein Element.
Nun setzt du alle 6-Felder auf 0 (null). Dann wüfelst du und läufst di ergebnisse der Würfel in einer Schleife ab. Jedesmal wenn du nun eine 1 Findest erhöhst du den Wert des ersten Array Feldes um einen bei einer zwei das zweite Feld usw.
So hast du nachdem du die Würfel überprüft hast, eine Statistik welche Aufenzahl wie oft gewurfen wurde. Mit dier kannst du weiter arbeiten.
Gruß
Klabautermann
OmNiBrAiN - Do 08.05.03 15:20
das klingt doch schon super, danke :]
Udontknow - Do 08.05.03 15:23
Ich würde eigentlich eine Funktion schreiben, die mir die Anzahl der Würfel, die einen bestimmten Wert haben, ermittelt.
Quelltext
1: 2: 3: 4: 5: 6: 7:
| function AnzahlWuerfelMitWert(Wert:Byte):Byte; begin Result:=0; for i:=1 to WuerfelAnzahl do if Wuerfel[i]=Wert then Inc(Result); end; |
Um nun herauszufinden, ob irgendeine Augenzahl z.b. dreimal vorkommt, einfach die Werte 1-6 durchgehen und abbrechen, wenn so etwas gefunden.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function XMalGleicheWuerfe(X:integer):Boolean; var i:Byte; begin for i:=1 to 6 do if AnzahlWuerfelMitWert(i)=X then begin Result:=True; exit; end; end; |
Cu,
Udontknow
OmNiBrAiN - Do 08.05.03 15:42
ebenfalls interessant :>
ich werde mal sehen, wie ichs umsetze
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!