org.dartra.games.practice
Class AroundTheClockGame

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

public class AroundTheClockGame
extends StandardGame

Simple around the clock game. The player score is his par value, like it would be in a par-1 golf game.

The exact rules for an around the clock game can be found at Rules for Around The Clock.

Author:
Erwin Vervaet

Constructor Summary
AroundTheClockGame(StandardBoard board, Player[] players)
           
AroundTheClockGame(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).
 void registerHit(Zone hitTargetZone, Hit hit)
          Register the hit of a dart on the board.
 
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, toString, 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

AroundTheClockGame

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

AroundTheClockGame

public AroundTheClockGame(StandardBoard board,
                          Player[] players)
Method Detail

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.


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