/*
 * "Grundkurs Programmieren in Java - Band 1 (4. Auflage, 2007)"
 * 2001-2007, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 12.3 (Version 1.1)
 * (c) 2001-2007 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 * Benoetigt 'AchtdamenEngine.java'
 *
 */

import Prog1Tools.GameEngine;
import Prog1Tools.GameModel;

public class AchtdamenGui implements GameModel {

  private int aktNr = 0;

  // Default-Konstruktor
  public AchtdamenGui () {
    AchtdamenEngine.invoke(); // alle Loesungen berechnen und in boolean-array 'loesung' speichern
  }

  // macht nichts, da die einzelnen Buttons ja nur zur Darstellung dienen
  public void buttonPressed(int row, int col) {}

  // gibt Anzahl der Spalten zurueck
  public int columns () {
    return 8;
  }

  // gibt Anzahl der Zeilen zurueck
  public int rows () {
    return 8;
  }

  // wird aufgerufen, wenn der Feuer-Button gedrueckt wird
  public void firePressed() {
    if ( aktNr != AchtdamenEngine.loesung.length - 1 )
      aktNr++;
  }

  // Beschriftung fur den Feuer-Button
  public String getFireLabel() {
    return "Nächste bitte!";
  }

  public String getGameName() {
    return "Achtdamenproblem";
  }

  public String getMessages() {
    if (aktNr < 91)
      return "Lösung Nr: " + (aktNr + 1) ;
    else
      return "Lösung Nr: 92 - Letzte Lösung!";
  }

  public char getContent( int row, int col ) {
    if (AchtdamenEngine.loesung[aktNr][row][col])
      return 'D';
    else
      return ' ';
  }

  // ****** main-Methode ******
  public static void main (String[] args) {
    new GameEngine(new AchtdamenGui() );
  }

}
