Ich implementiere eine einfache Version des Cluedo Spiels. Es gibt 3 Arten von Karten im Spiel, Charakter, Waffe und Raum. Da eine Karte nicht mehr als ein String ist (d. H. Keine Funktionalität oder andere Informationen als der Name auf einer Karte gespeichert sind), habe ich entschieden, keine Kartenschnittstelle zu haben, und jeder Typ erweitert die Karte. Vielmehr hatte ich drei Aufzählungen in meinem Spiel, das sind:Java bekomme einen zufälligen Wert von 3 verschiedenen Enums
public enum Character {Scarlett, Mustard, White, Green, Peacock, Plum;}
public enum Weapon {Candlestick, Dagger, LeadPipe, Revolver, Rope, Spanner;}
public enum Room {Kitchen, Ballroom, Conservatory, BilliardRoom, Library, Study, Hall;}
Jedoch gibt es einen Fall, in dem drei Arten von Karten zusammengesetzt werden und behandelt gleichmäßig an jeden Spieler des Spiels. Zum Beispiel kann ein Spieler eine Hand von 2 Charakteren, 2 Waffen und 1 Raum haben, ein anderer Spieler kann 3 Räume und 2 Charaktere haben, so lange die Gesamtzahl der Karten gleich ist, ist es egal, welcher Typ das ist.
Und deshalb frage ich mich, ob es eine Möglichkeit gibt, zufällig einen einzigen Wert aus allen drei Enums in Java auszuwählen?
Oder sollte ich nicht diese drei enums Sache in erster Linie tun? (Schlecht entworfen)
„Ein ENUM kann auch eine Schnittstelle implementieren“, die sehr geholfen! Es stellte sich heraus, dass ich eine Kartenschnittstelle brauche! Danke vielmals! – Shenbo