コード例 #1
0
ファイル: MoveSimulator.cs プロジェクト: seuribe/demondrian
        public static MoveSimulator FromPotentialMove(Board board, PotentialMove move, Piece nextPiece)
        {
            var newBoard = board.Clone();

            newBoard.RotateTo(move.orientation);
            return(new MoveSimulator(newBoard, move.coord, nextPiece));
        }
コード例 #2
0
ファイル: Game.cs プロジェクト: seuribe/demondrian
        public void Execute(PotentialMove move)
        {
            var simulator = MoveSimulator.FromPotentialMove(board, move, NextPieceIfPlaying(move));

            simulator.Simulate();
            var executedMove = simulator.GetMove();

            Execute(executedMove);
        }
コード例 #3
0
 internal bool Matches(PotentialMove other)
 {
     return(coord.Matches(other.coord) && orientation == other.orientation);
 }
コード例 #4
0
ファイル: Game.cs プロジェクト: seuribe/demondrian
        public Piece NextPieceIfPlaying(PotentialMove move)
        {
            var playedCoord = board.TransportCoord(move.coord, move.orientation);

            return(NextPieceIfPlaying(playedCoord));
        }