Perudo ist eines meiner Lieblingsspiele, das ich mit Freunden spiele. Die Regeln sind leicht zu verstehen und es gibt genau das richtige Maß an Strategie und Spaß!
Für dieses Projekt habe ich mich für die Programmiersprache Java entschieden und die Prinzipien der objektorientierten Programmierung angewendet.
Das Originalspiel wird mit undurchsichtigen Bechern und Würfeln gespielt. Zu Beginn des Spiels erhalten die Spieler jeweils 1 Becher und 5 Würfel. Nachdem die Würfel in den Bechern gemischt wurden, drehen die Spieler ihren Becher um (mit den Würfeln darin). Anschließend muss jeder Spieler eine Wette abschließen, wie viele Würfel nacheinander auf dem Tisch liegen. Jeder Spieler kann nur seine Würfel sehen und muss sich entscheiden, einen höheren Einsatz zu machen oder den letzten Spieler als Lügner zu bezeichnen! Wenn ein Spieler ein Gebot bestreitet, werden alle Würfel aufgedeckt und entweder der Bieter oder der Ausrufer verliert Würfel, je nachdem, wer richtig lag.
Der Gewinner ist der letzte verbleibende Spieler!
Um dieses Perudo-Spiel zu erstellen, habe ich 5 Klassen erstellt. Hier ist die nicht erschöpfende Beschreibung jeder Klasse.
Eine Würfelklasse , die Folgendes enthält:
int value
: ein ganzzahliger Wert von 1 bis 6;Eine Spielerklasse , die Folgendes enthält:
String name
: der Name jedes SpielersArrayList<Dice>
: Ein Array von 5 Würfeln mit einem Zufallswert von 1 bis 6, der die Würfelwerte darstellt. Zum Beispiel: [1,2,6,6,4]
Eine RobotPlayer -Klasse, die von der Player -Klasse erbt und Folgendes enthält:
Eine Perudo -Klasse, die Folgendes beinhaltet:
ArrayList<Player> players
: die eine Player-Instanz und mehrere RobotPlayer-Instanzen enthält.int[] currentBet
: Zeigt den aktuellen Einsatz mit der Anzahl der Würfel und dem Würfelwert an. Beispiel: [5,6]
bedeutet, dass der letzte Einsatz auf 5 Würfel mit einem Wert von 6 erfolgte.Player currentPlayer
: um eine Referenz des aktuellen Spielers zu erhalten, der entscheiden kann, zu wetten oder Würfel aufzudecken.Eine GUI- Klasse, die Folgendes enthält:
Um zu verstehen, wie ich den Algorithmus erstellt habe, finden Sie hier ein Diagramm, das jeden Schritt des Spiels darstellt.