org.dartra.textui
Class GameRunner

java.lang.Object
  extended byorg.dartra.textui.GameRunner
All Implemented Interfaces:
org.dartra.framework.GameEventListener, java.lang.Runnable

public class GameRunner
extends java.lang.Object
implements java.lang.Runnable, org.dartra.framework.GameEventListener

This class runs a game of darts using a text user interface. The game should be properly configured before instantiating this class. Also, no data persistence is done. All of these tasks are the responsability of the user of this class.

Author:
Erwin Vervaet

Constructor Summary
GameRunner(java.io.OutputStream out, java.io.OutputStream err, java.io.InputStream in, org.dartra.framework.Game game)
          Create a new DarTra text user interface game runner for given darts game.
 
Method Summary
 boolean aborted()
          Returns whether or not game play was aborted by the user.
 void gameEnded(org.dartra.framework.GameEvent ge)
           
 void gameEventSignaled(org.dartra.framework.GameEvent ge)
           
 void gameStarted(org.dartra.framework.GameEvent ge)
           
 org.dartra.framework.Game getGame()
          Returns the game being run by this game runner.
 void illegalThrow(org.dartra.framework.GameEvent ge)
           
 void matchGameChanged(org.dartra.framework.GameEvent ge)
           
 void playerChanged(org.dartra.framework.GameEvent ge)
           
 void run()
          Run the game.
 void scoreChanged(org.dartra.framework.GameEvent ge)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GameRunner

public GameRunner(java.io.OutputStream out,
                  java.io.OutputStream err,
                  java.io.InputStream in,
                  org.dartra.framework.Game game)

Create a new DarTra text user interface game runner for given darts game.

Parameters:
out - Output will be written to this stream.
err - Error ouput will be written to this stream.
in - Input will be read from this stream.
game - The game that will be run.
Method Detail

run

public void run()

Run the game. When this method returns, the game has finished: either a winner has been selected or the game was aborted.

Specified by:
run in interface java.lang.Runnable

getGame

public org.dartra.framework.Game getGame()

Returns the game being run by this game runner.


aborted

public boolean aborted()

Returns whether or not game play was aborted by the user.


gameStarted

public void gameStarted(org.dartra.framework.GameEvent ge)
Specified by:
gameStarted in interface org.dartra.framework.GameEventListener

gameEnded

public void gameEnded(org.dartra.framework.GameEvent ge)
Specified by:
gameEnded in interface org.dartra.framework.GameEventListener

matchGameChanged

public void matchGameChanged(org.dartra.framework.GameEvent ge)
Specified by:
matchGameChanged in interface org.dartra.framework.GameEventListener

playerChanged

public void playerChanged(org.dartra.framework.GameEvent ge)
Specified by:
playerChanged in interface org.dartra.framework.GameEventListener

scoreChanged

public void scoreChanged(org.dartra.framework.GameEvent ge)
Specified by:
scoreChanged in interface org.dartra.framework.GameEventListener

illegalThrow

public void illegalThrow(org.dartra.framework.GameEvent ge)
Specified by:
illegalThrow in interface org.dartra.framework.GameEventListener

gameEventSignaled

public void gameEventSignaled(org.dartra.framework.GameEvent ge)
Specified by:
gameEventSignaled in interface org.dartra.framework.GameEventListener