コード例 #1
0
ファイル: GameState.cs プロジェクト: Bawaw/Reversi
 protected State( ICell<State> state, GameBoard board )
 {
     this.state = state;
     this.board = board;
 }
コード例 #2
0
ファイル: GameState.cs プロジェクト: Bawaw/Reversi
 public InProgress( ICell<State> state, GameBoard board, Player player )
     : base(state, board)
 {
     this.currentPlayer = player;
 }
コード例 #3
0
ファイル: GameState.cs プロジェクト: Bawaw/Reversi
 private GameState( GameBoard initialBoard, Player initialPlayer )
     : this(CreateInitialState( initialBoard, initialPlayer ))
 {
     // NOP
 }
コード例 #4
0
ファイル: GameState.cs プロジェクト: Bawaw/Reversi
 public GameOver( ICell<State> state, GameBoard board )
     : base(state, board)
 {
 }
コード例 #5
0
ファイル: GameState.cs プロジェクト: Bawaw/Reversi
        private static ICell<State> CreateInitialState( GameBoard initialBoard, Player initialPlayer )
        {
            if ( !initialBoard.HasValidMove( initialPlayer ) )
            {
                throw new ArgumentException( "No move available for given player" );
            }
            else
            {
                var state = new Cell<State>();
                state.Value = new InProgress( state, initialBoard, initialPlayer );

                return state;
            }
        }
コード例 #6
0
ファイル: GameBoard.cs プロジェクト: Bawaw/Reversi
 public bool Equals( GameBoard gameBoard )
 {
     return this.grid.Equals( gameBoard.grid );
 }