org.dartra.games.x01
Class X01Game

java.lang.Object
  extended byorg.dartra.standard.PersistentObject
      extended byorg.dartra.standard.StandardGame
          extended byorg.dartra.games.x01.X01Game
All Implemented Interfaces:
Game, Persistent

public class X01Game
extends StandardGame

An x01 darts game.

The exact rules for an x01 game can be found at Rules for x01.

Author:
Erwin Vervaet

Constructor Summary
X01Game(StandardBoard board, Player[] players, int startScore, boolean doubleIn, boolean doubleOut)
           
X01Game(StandardBoard board, Player[] players, StringProperties props)
           
 
Method Summary
 Objective getObjective()
          Get the current objective of the game: the current player should try to hit a zone of the board, or should end this turn.
 Score getPlayerScore(Player player)
          Get the current score for given player in this game.
 StringProperties getProperties()
          Subclasses should implement this to properly return their game specific properties (for instance the "start score" for an x01 game).
 int getStartScore()
           
 ZoneSuggestionStrategy getZoneSuggestionStrategy()
           
 boolean isDoubleIn()
           
 boolean isDoubleOut()
           
 void registerHit(Zone hitTargetZone, Hit hit)
          Register the hit of a dart on the board.
 void setZoneSuggestionStrategy(ZoneSuggestionStrategy strat)
           
 java.lang.String toString()
           
 
Methods inherited from class org.dartra.standard.StandardGame
accept, addGameEventListener, addTurn, getBoard, getCurrentPlayer, getCurrentTurn, getEndTime, getFirstPlayer, getGameEventListeners, getName, getPlayer, getPlayers, getPlayerTurn, getPlayerTurnHistory, getStartTime, getTurn, getTurnHistory, getWinner, removeGameEventListener, setEndTime, setFirstPlayer, setPlayers, setStartTime, setWinner, start, undoHit
 
Methods inherited from class org.dartra.standard.PersistentObject
getId, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.dartra.framework.Persistent
getId, setId
 

Constructor Detail

X01Game

public X01Game(StandardBoard board,
               Player[] players,
               StringProperties props)

X01Game

public X01Game(StandardBoard board,
               Player[] players,
               int startScore,
               boolean doubleIn,
               boolean doubleOut)
Method Detail

getStartScore

public int getStartScore()

isDoubleIn

public boolean isDoubleIn()

isDoubleOut

public boolean isDoubleOut()

setZoneSuggestionStrategy

public void setZoneSuggestionStrategy(ZoneSuggestionStrategy strat)

getZoneSuggestionStrategy

public ZoneSuggestionStrategy getZoneSuggestionStrategy()

getObjective

public Objective getObjective()
Description copied from interface: Game

Get the current objective of the game: the current player should try to hit a zone of the board, or should end this turn.


registerHit

public void registerHit(Zone hitTargetZone,
                        Hit hit)
Description copied from interface: Game

Register the hit of a dart on the board. A particular zone of the board was targetted.


getPlayerScore

public Score getPlayerScore(Player player)
Description copied from interface: Game

Get the current score for given player in this game.


toString

public java.lang.String toString()
Overrides:
toString in class StandardGame

getProperties

public StringProperties getProperties()
Description copied from class: StandardGame

Subclasses should implement this to properly return their game specific properties (for instance the "start score" for an x01 game).

It is legal to return null if there are no game specific properties.

Specified by:
getProperties in class StandardGame