mastermind.engine
Class MastermindEngine

java.lang.Object
  extended by mastermind.engine.MastermindEngine
All Implemented Interfaces:
java.io.Serializable, IMastermindEngine

public class MastermindEngine
extends java.lang.Object
implements IMastermindEngine, java.io.Serializable

Mastermind Engine: Enthält die Logik für das Spiel.

See Also:
Serialized Form

Constructor Summary
MastermindEngine()
          Mastermind Engine Konstruktor
 
Method Summary
static int[] convertStringToIntArr(java.lang.String guess)
          Hilfsmethode: Convert String in ein Int-Array
 Guess getHiddenPattern()
          Gibt das zu erratende Muster (Guess) zurück
 Guess getHistoryGuess(int guessNumber)
          Gibt einen Guess zurück aus der History
 Result getHistoryResult(int resultForGuessNumber)
          Gibt das Resultat eines Guesses aus der History zurück
 int getNumberOfGuesses()
          Gibt die Anzahl bereits geratenen Rateversuche zurück
 Result getResult(Guess guess)
          Berechnet die Anzahl Stifte mit richtiger Farbe und richtiger Position (schwarz) sowie nur richtigen Farbe (weiss) sowie ob Gewonnen oder nicht.
 boolean hasWon(Guess guess)
          Gibt zurück ob gewonnen oder nicht.
 void loadEngine(java.io.File file)
          Lädt die Engine aus einer Datei
 void reset()
          Mastermind Engine reset: alle History einträge löschen, neuer Code erzeugen, Settings neu laden
 void saveEngine(java.io.File file)
          Speichert die aktuelle Engine in eine Datei.
 void setHiddenPattern(Guess hiddenPattern, boolean showCode)
          Setzt das zu erratende Muster (Guess)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MastermindEngine

public MastermindEngine()
Mastermind Engine Konstruktor

Method Detail

hasWon

public boolean hasWon(Guess guess)
Gibt zurück ob gewonnen oder nicht. Vergleicht Guess == hiddenPattern

Specified by:
hasWon in interface IMastermindEngine
Parameters:
guess - Kombination die geraten wurde
Returns:
ob gewonnen oder nicht

getResult

public Result getResult(Guess guess)
Berechnet die Anzahl Stifte mit richtiger Farbe und richtiger Position (schwarz) sowie nur richtigen Farbe (weiss) sowie ob Gewonnen oder nicht.

Specified by:
getResult in interface IMastermindEngine
Parameters:
guess - Kombination die geraten wurde
Returns:
Result mit den Anzahl Schwarzen / Weissen stifte

getHiddenPattern

public Guess getHiddenPattern()
Gibt das zu erratende Muster (Guess) zurück

Returns:
the hiddenPattern

setHiddenPattern

public void setHiddenPattern(Guess hiddenPattern,
                             boolean showCode)
Setzt das zu erratende Muster (Guess)

Specified by:
setHiddenPattern in interface IMastermindEngine
Parameters:
hiddenPattern - the hiddenPattern to set
showCode - true: shows Hidden Code

convertStringToIntArr

public static int[] convertStringToIntArr(java.lang.String guess)
Hilfsmethode: Convert String in ein Int-Array

Parameters:
guess -
Returns:
Int-Array

getNumberOfGuesses

public int getNumberOfGuesses()
Gibt die Anzahl bereits geratenen Rateversuche zurück

Returns:
Anzahl Rateversuche

getHistoryGuess

public Guess getHistoryGuess(int guessNumber)
Gibt einen Guess zurück aus der History

Parameters:
guessNumber - Position von Guess
Returns:
Guess Objekt

getHistoryResult

public Result getHistoryResult(int resultForGuessNumber)
Gibt das Resultat eines Guesses aus der History zurück

Parameters:
resultForGuessNumber - Position des Guess
Returns:
Result Objekt

reset

public void reset()
Mastermind Engine reset: alle History einträge löschen, neuer Code erzeugen, Settings neu laden


saveEngine

public void saveEngine(java.io.File file)
Speichert die aktuelle Engine in eine Datei.

Parameters:
file - Datei in welcher die Engine gespeichert werden soll.

loadEngine

public void loadEngine(java.io.File file)
Lädt die Engine aus einer Datei

Parameters:
file - Datei worin die Engine gespeichert ist.