Javakurs2006/Tag 4/Vier Gewinnt: Unterschied zwischen den Versionen
< Javakurs2006 | Tag 4
(vier gewinnt verschoben) |
K (Kategorisiert) |
||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Informationen zum Spiel Vier gewinnt findet ihr [ | + | [[Javakurs2006| <- Zurück zur Übersicht]] |
+ | |||
+ | |||
+ | Informationen zum Spiel Vier gewinnt findet ihr z.B. [[Wikipedia:Vier gewinnt|in der Wikipedia]]. | ||
* Als erstes macht es Sinn sich ein Spielbrett anzulegen. | * Als erstes macht es Sinn sich ein Spielbrett anzulegen. | ||
Zeile 25: | Zeile 28: | ||
* Benutze nun die Methode <code>String promptUserForString(String question)</code> vom API-Übungsblatt um den vom Spieler gewünschten Zug ''einzulesen''. | * Benutze nun die Methode <code>String promptUserForString(String question)</code> vom API-Übungsblatt um den vom Spieler gewünschten Zug ''einzulesen''. | ||
* Überlege dir, wo und wie du feststellen willst ob ein Spieler gewonnen hat und wenn ja wer. | * Überlege dir, wo und wie du feststellen willst ob ein Spieler gewonnen hat und wenn ja wer. | ||
− | + | ||
− | |||
− | |||
=== Zusatzaufgabe === | === Zusatzaufgabe === | ||
+ | Verschönere die Ausgabe: | ||
+ | * so dass man nichts sieht, wenn ein Feld leer ist. | ||
+ | * so dass 1 und 2 durch "+" und "x" ersetzt wird | ||
+ | * überlege wie man diese Ausgabe ohne Fallunterscheidung machen kann (Tip: Array) | ||
+ | |||
Erweitere das Spiel um einen Computer-Spieler, der: | Erweitere das Spiel um einen Computer-Spieler, der: | ||
* Einen Zufälligen Zug macht | * Einen Zufälligen Zug macht | ||
Zeile 39: | Zeile 45: | ||
* eine Kopie eines Spielfeldes machen zu können | * eine Kopie eines Spielfeldes machen zu können | ||
Damit ist es für die KI einfach einen Zug auszuprobieren. | Damit ist es für die KI einfach einen Zug auszuprobieren. | ||
+ | |||
+ | |||
+ | [[Javakurs2006| <- Zurück zur Übersicht]] | ||
+ | [[Kategorie:Java]] | ||
+ | [[Kategorie:Java_Aufgaben]] |
Aktuelle Version vom 17. März 2009, 13:11 Uhr
Informationen zum Spiel Vier gewinnt findet ihr z.B. in der Wikipedia.
- Als erstes macht es Sinn sich ein Spielbrett anzulegen.
- Lege dazu eine Klasse
GameBoard
an. Diese könnte Methoden enthalten wie:placeWhiteStone(int column)
, einen weissen Stein in diecolumn
te Spalte wirft.placeBlackStone(int column)
, einen schwarzen Stein in diecolumn
te Spalte wirft.
- Dieses Spielbrett sollte jetzt auf dem Bildschirm in der Form:
--------------- |0|0|0|0|0|0|0| --------------- |0|0|0|0|0|0|0| --------------- |0|0|0|0|0|0|0| --------------- |0|0|0|0|0|0|0| --------------- |0|0|0|0|0|0|0| --------------- |0|0|2|1|0|0|0| ---------------
- angezeigt werden. Wobei 0 für ein leeres Feld, 1 für ein weisses Feld und 2 für ein schwarzes Feld steht. Nützlich wäre hier in der Klasse
GameBoard
eine MethodetoString()
zu implementieren.
- Benutze nun die Methode
String promptUserForString(String question)
vom API-Übungsblatt um den vom Spieler gewünschten Zug einzulesen. - Überlege dir, wo und wie du feststellen willst ob ein Spieler gewonnen hat und wenn ja wer.
Zusatzaufgabe
Verschönere die Ausgabe:
- so dass man nichts sieht, wenn ein Feld leer ist.
- so dass 1 und 2 durch "+" und "x" ersetzt wird
- überlege wie man diese Ausgabe ohne Fallunterscheidung machen kann (Tip: Array)
Erweitere das Spiel um einen Computer-Spieler, der:
- Einen Zufälligen Zug macht
- Einen Gewinn-Zug macht, wenn er kann
- Einen Zug vermeidet, der zum Gewinn des Gegners führt, wenn er kann
Hinweis: Um eine KI zu implementieren ist es sinnvoll entweder:
- einen Zug zurücknehmen zu können
- eine Kopie eines Spielfeldes machen zu können
Damit ist es für die KI einfach einen Zug auszuprobieren.