LaOca - Goose Game

Código en Google code
Con la intención de servir como base para juegos de tablero más complejos esta sería una implementación del juego de la OCA en java. Este juego es tan sumamente malo que todo lo juega la propia máquina, no necesita intervención humana alguna. Así que un programa principal crea la instancia de juego, añade jugadores y los pone a tirar dados y a moverse. Al llegar todos a la meta el juego termina.
 
El tablero es más simple, no contiene las 63 casillas estándar, pero lo mismo da. Está hecho con un array y las casillas especiales tienen un valor de salto, que puede ser hacia adelante o hacia atrás.
 
Faltaría meter lo del pozo, que me suena que era varios turnos sin jugar.
 

Main

 
Clase principal
 
 
 
package info.pello.games.oca;
 
/** 
 * La Oca - Game of Goose 
 * This is an implementation of a really dumb game where 
 * players just roll dices and move on, without any possible 
 * choice. So It's a perfect game to for a computer to resolve, 
 * because no human intervention is really needed. 
 * First coded for educational purposes, then just for fun 
 * and finally... I don't know. 
 * @author Pello Xabierl Altadill 
 * @greets Movistar 
 */
public class Main {
 
        /** 
         * I try to keep the main function simple, just an instance 
         * of Game class, initialization, a game loop and result. 
         * @param args 
         */
        public static void main(String[] args) {
                Game game = new Game();
                
                game.addPlayer("Pello");
                game.addPlayer("June");
                game.addPlayer("Josu");
                game.addPlayer("COM");
                
                do {
                        System.out.println(game.boardState());
                        System.out.println(game.moveCurrent());
                        game.nextTurn();
                } while (game.notFinished());
 
                System.out.println("\nLast state:");
                System.out.println(game.boardState());
                System.out.println(game.gameResult());
 
        }
 
}