HSZG Vorkurs Informatik WS 2014/Spielregeln
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language> In diesem Arbeitsblatt setzen wir die Programmierung eines konsolenbasierten Brettspiels fort. Wir bleiben zunächst beim Dame-Spiel, da wir hierfür schon einige Methoden entwickelt haben und die Spielregeln noch einigermaßen überschaubar sind. Machen Sie sich bei [http://de.wikipedia.org/wiki/Dame_%28Spiel%29 | Wikipedia] zunächst mit den Dame-Regeln vertraut und sehen Sie sich dort die Animation an. In diesem Arbeitsblatt ist es das Ziel, die Einhaltung von Spielregeln mit Hilfe von geeigneten Methoden sicherzustellen. Da wir auf der gestrigen Arbeit aufbauen wollen, kopieren Sie bitte zunächst folgende Methoden aus dem Arbeitsblatt [[HSZG_Vorkurs_Informatik_WS_2014/Spielfelder | Spielfelder]] in die nächste Codebox: * ''erstelle_spielfeld'' * ''drucke_spielfeld'' * ''setze_damen'' * ''setze_spielstein'' <code id="542338da146d3"></code> Es wird davon ausgegangen, dass Sie sich in der Methode ''setze_damen'' für zwei bestimmte Strings entschieden haben, die Spieler 1 und Spieler 2 darstellen (z.B. Spielsteine "1" und "2"). Diese Strings sollten Sie im Folgenden immer verwenden. '''Aufgabe 1''' Ein Spielzug muss beim Dame-Spiel bestimmte Anforderungen erfüllen: Wenn Sie an der Reihe sind, bewegen Sie einen Ihrer Steine diagonal in Richtung gegnerische Seite. Sie müssen den Stein vorwärts in ein unbesetztes Feld bewegen, indem Sie ihn entweder diagonal um genau ein Feld verschieben oder einen gegnerischen Stein überspringen (dazu sagt man auch ''schlagen''). Zum Springen muss Ihr Spielstein diagonal direkt vor dem gegnerischen Stein platziert sein. Außerdem muss sich hinter dem gegnerischen Stein ein leeres Feld befinden. Sie müssen also den gegnerischen Stein überspringen und direkt dahinter auf einem leeren Feld landen. Entwickeln Sie eine Methode, die folgende Parameter entgegennimmt: # das Spielfeld-Array # ''zeile_alt'' und ''spalte_alt'' für die Position des Spielsteins, der bewegt werden soll # ''zeile_neu'' und ''spalte_neu'' für die vom Nutzer gewünschte neue Position des Spielsteins Die Methode soll nur überprüfen ob dieser Spielzug gültig ist oder nicht. Sie soll true zurückgeben, wenn der Spielzug in Ordnung ist, ansonsten false. <code id="542338da1474f"></code> <run id="542338da147c9"></run> '''Aufgabe 2''' Entwickeln Sie eine Methode, die folgende Parameter entgegennimmt: # das Spielfeld-Array # ''zeile_alt'' und ''spalte_alt'' für die Position des Spielsteins, der bewegt werden soll # ''zeile_neu'' und ''spalte_neu'' für die vom Nutzer gewünschte neue Position des Spielsteins Die Methode soll nur überprüfen, ob dieser Spielzug den gegnerischen Spieler schlägt (Rückgabe true) oder nicht (Rückgabe false) <code id="54233d62d24a7"></code> <run id="54233d62d25e3"></run> '''Aufgabe 3''' Entwickeln Sie eine Methode ''schlagen'', die folgende Parameter entgegennimmt: # das Spielfeld-Array # ''zeile_alt'' und ''spalte_alt'' für die Position des Spielsteins, der bewegt werden soll # ''zeile_neu'' und ''spalte_neu'' für die vom Nutzer gewünschte neue Position des Spielsteins Die Methode soll das ''Schlagen'' oder ''Springen'' durchführen, d.h. das Spielfeld-Array soll modifiziert und anschließend zurückgegeben werden. Wir gehen davon aus, dass der Spielzug gültig ist und die Bedingungen zum Springen gegeben sind. Gehen Sie wie folgt vor: # Die Methode ''setze_spielstein'' können Sie aufrufen, um zunächst den Spielstein zu versetzen. # Anschließend müssen Sie den gegnerischen Stein vom Spielfeld entfernen. An welcher Position sich dieser befindet, müssen Sie anhand der Parameter berechnen. <code id="54233d62d2543"></code> <run id="54233d62d265a"></run>