예제 #1
0
        public static IBoard Create(IPlayer frontPlayer, IPlayer backPlayer)
        {
            IPiece tam = new Minds(PieceColor.Black, new PublicDataType.IntegerVector2(4, 4), null, null); //fieldEffectCheckerに渡すため別途生成

            FieldEffectChecker fieldChecker = new StandardizedRule.FieldEffectChecker(new PositionArrayAccessor <FieldEffect>(BoardMapGenerator.GenerateFieldEffectMap()), tam);

            IPiece[,] piece2DArray = BoardMapGenerator.GeneratePiece2DMap(frontPlayer, backPlayer, tam, fieldChecker);
            PositionArrayAccessor <IPiece> pieceMap = new PositionArrayAccessor <IPiece>(piece2DArray);

            IBoard board = new Board(pieceMap, fieldChecker, new PieceMoveTransactionFactory());

            return(board);
        }
예제 #2
0
        public static IBoard Create(IPlayer frontPlayer, IPlayer backPlayer)
        {
            IPiece tam = new Minds(PieceColor.Black, new PublicDataType.IntegerVector2(4, 4), null, null); //fieldEffectCheckerに渡すため別途生成

            FieldEffect[,] fieldEffectMap = new FieldEffect[, ]
            {
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Tammua, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Tammua, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tammua, FieldEffect.Tammua, FieldEffect.Tanzo, FieldEffect.Tammua, FieldEffect.Tammua, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Tammua, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Tammua, FieldEffect.Normal, FieldEffect.Tarfe, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
                { FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal, FieldEffect.Normal },
            };
            StandardizedRule.FieldEffectChecker fieldChecker = new StandardizedRule.FieldEffectChecker(new PositionArrayAccessor <FieldEffect>(fieldEffectMap), tam);

            IPiece[,] piece2DArray = new IPiece[, ]
            {
                { new Officer(PieceColor.Black, new PublicDataType.IntegerVector2(0, 0), backPlayer, fieldChecker), new Horse(PieceColor.Black, new PublicDataType.IntegerVector2(1, 0), backPlayer, fieldChecker), new Chariot(PieceColor.Black, new PublicDataType.IntegerVector2(2, 0), backPlayer, fieldChecker), new General(PieceColor.Black, new PublicDataType.IntegerVector2(3, 0), backPlayer, fieldChecker), new King(PieceColor.Red, new PublicDataType.IntegerVector2(4, 0), backPlayer, fieldChecker), new General(PieceColor.Red, new PublicDataType.IntegerVector2(5, 0), backPlayer, fieldChecker), new Chariot(PieceColor.Red, new PublicDataType.IntegerVector2(6, 0), backPlayer, fieldChecker), new Horse(PieceColor.Red, new PublicDataType.IntegerVector2(7, 0), backPlayer, fieldChecker), new Officer(PieceColor.Red, new PublicDataType.IntegerVector2(8, 0), backPlayer, fieldChecker) },
                { new Shaman(PieceColor.Red, new PublicDataType.IntegerVector2(0, 1), backPlayer, fieldChecker), new Archer(PieceColor.Red, new PublicDataType.IntegerVector2(1, 1), backPlayer, fieldChecker), null, new Tiger(PieceColor.Red, new PublicDataType.IntegerVector2(3, 1), backPlayer, fieldChecker), null, new Tiger(PieceColor.Black, new PublicDataType.IntegerVector2(5, 1), backPlayer, fieldChecker), null, new Archer(PieceColor.Red, new PublicDataType.IntegerVector2(7, 1), backPlayer, fieldChecker), new Shaman(PieceColor.Red, new PublicDataType.IntegerVector2(8, 1), backPlayer, fieldChecker) },
                { new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(0, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(1, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(2, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(3, 2), backPlayer, fieldChecker), new Vessel(PieceColor.Red, new PublicDataType.IntegerVector2(4, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(5, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(6, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(7, 2), backPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(8, 2), backPlayer, fieldChecker) },
                { null, null, null, null, null, null, null, null, null },
                { null, null, null, null, tam, null, null, null, null },
                { null, null, null, null, null, null, null, null, null },
                { new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(0, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(1, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(2, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(3, 6), frontPlayer, fieldChecker), new Vessel(PieceColor.Black, new PublicDataType.IntegerVector2(4, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(5, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(6, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Red, new PublicDataType.IntegerVector2(7, 6), frontPlayer, fieldChecker), new Pawn(PieceColor.Black, new PublicDataType.IntegerVector2(8, 6), frontPlayer, fieldChecker) },
                { new Shaman(PieceColor.Black, new PublicDataType.IntegerVector2(0, 7), frontPlayer, fieldChecker), new Archer(PieceColor.Black, new PublicDataType.IntegerVector2(1, 7), frontPlayer, fieldChecker), null, new Tiger(PieceColor.Black, new PublicDataType.IntegerVector2(3, 7), frontPlayer, fieldChecker), null, new Tiger(PieceColor.Red, new PublicDataType.IntegerVector2(5, 7), frontPlayer, fieldChecker), null, new Archer(PieceColor.Red, new PublicDataType.IntegerVector2(7, 7), frontPlayer, fieldChecker), new Shaman(PieceColor.Red, new PublicDataType.IntegerVector2(8, 7), frontPlayer, fieldChecker) },
                { new Officer(PieceColor.Red, new PublicDataType.IntegerVector2(0, 8), frontPlayer, fieldChecker), new Horse(PieceColor.Red, new PublicDataType.IntegerVector2(1, 8), frontPlayer, fieldChecker), new Chariot(PieceColor.Red, new PublicDataType.IntegerVector2(2, 8), frontPlayer, fieldChecker), new General(PieceColor.Red, new PublicDataType.IntegerVector2(3, 8), frontPlayer, fieldChecker), new King(PieceColor.Black, new PublicDataType.IntegerVector2(4, 8), frontPlayer, fieldChecker), new General(PieceColor.Black, new PublicDataType.IntegerVector2(5, 8), frontPlayer, fieldChecker), new Chariot(PieceColor.Black, new PublicDataType.IntegerVector2(6, 8), frontPlayer, fieldChecker), new Horse(PieceColor.Black, new PublicDataType.IntegerVector2(7, 8), frontPlayer, fieldChecker), new Officer(PieceColor.Black, new PublicDataType.IntegerVector2(8, 8), frontPlayer, fieldChecker) }
            };
            PositionArrayAccessor <IPiece> pieceMap = new PositionArrayAccessor <IPiece>(piece2DArray);

            IBoard board = new StandardizedRule.Board(pieceMap, fieldChecker, new StandardizedRule.PieceMoveAction.PieceMoveTransactionFactory());

            return(board);
        }