Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs2006/Tag 4/Vier Gewinnt: Unterschied zwischen den Versionen

(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 [http://de.wikipedia.org/wiki/Vier_gewinnt hier].
+
[[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.
* Verschönere die Ausgabe:
+
 
** so dass man nichts sieht, wenn ein Feld leer ist.
 
** so dass 1 und 2 durch "+" und "x" ersetzt wird
 
  
 
=== 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

<- Zurück zur Übersicht


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 die columnte Spalte wirft.
  • placeBlackStone(int column), einen schwarzen Stein in die columnte 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 Methode toString() 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.


<- Zurück zur Übersicht