void initpieces() { PieceBuilder pc; pc = new PawnBuilder(); whitePieces = new List <Piece>(); blackPieces = new List <Piece>(); for (int x = 0; x < 8; x++) { whitePieces.Add(pc.BuildPiece(true, x, 6, new PawnMovement())); b.board[x, 6].av = 1; blackPieces.Add(pc.BuildPiece(false, x, 1, new PawnMovement())); b.board[x, 1].av = 2; } pc = new RookBuilder(); whitePieces.Add(pc.BuildPiece(true, 0, 7, new RookMovement())); b.board[0, 7].av = 1; whitePieces.Add(pc.BuildPiece(true, 7, 7, new RookMovement())); b.board[7, 7].av = 1; blackPieces.Add(pc.BuildPiece(false, 0, 0, new RookMovement())); b.board[0, 0].av = 2; blackPieces.Add(pc.BuildPiece(false, 7, 0, new DefaultMovement())); b.board[7, 0].av = 2; pc = new KnightBuilder(); whitePieces.Add(pc.BuildPiece(true, 1, 7, new KnightMovement())); b.board[1, 7].av = 1; whitePieces.Add(pc.BuildPiece(true, 6, 7, new KnightMovement())); b.board[6, 7].av = 1; blackPieces.Add(pc.BuildPiece(false, 1, 0, new KnightMovement())); b.board[1, 0].av = 2; blackPieces.Add(pc.BuildPiece(false, 6, 0, new KnightMovement())); b.board[6, 0].av = 2; pc = new BishopBuilder(); whitePieces.Add(pc.BuildPiece(true, 2, 7, new BishopMovement())); b.board[2, 7].av = 1; whitePieces.Add(pc.BuildPiece(true, 5, 7, new BishopMovement())); b.board[5, 7].av = 1; blackPieces.Add(pc.BuildPiece(false, 2, 0, new BishopMovement())); b.board[2, 0].av = 2; blackPieces.Add(pc.BuildPiece(false, 5, 0, new BishopMovement())); b.board[5, 0].av = 2; pc = new QueenBuilder(); whitePieces.Add(pc.BuildPiece(true, 3, 7, new QueenMovement())); b.board[3, 7].av = 1; blackPieces.Add(pc.BuildPiece(false, 3, 0, new QueenMovement())); b.board[3, 0].av = 2; pc = new KingBuilder(); whitePieces.Add(pc.BuildPiece(true, 4, 7, new KingMovement())); b.board[4, 7].av = 1; blackPieces.Add(pc.BuildPiece(false, 4, 0, new KingMovement())); b.board[4, 0].av = 2; foreach (var w in whitePieces) { b.board[w.x, w.y].c = w.c; } foreach (var w in blackPieces) { b.board[w.x, w.y].c = w.c; } }
private void OrganizePieces() { Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.A, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.B, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.C, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.D, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.E, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.F, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.G, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.H, ELine.Two)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(RookBuilder.New().WithPosition(new Position(EColumn.A, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(KnightBuilder.New().WithPosition(new Position(EColumn.B, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(BishopBuilder.New().WithPosition(new Position(EColumn.C, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(QueenBuilder.New().WithPosition(new Position(EColumn.D, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(KingBuilder.New().WithPosition(new Position(EColumn.E, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(BishopBuilder.New().WithPosition(new Position(EColumn.F, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(KnightBuilder.New().WithPosition(new Position(EColumn.G, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(RookBuilder.New().WithPosition(new Position(EColumn.H, ELine.One)).WithColor(EColor.White).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.A, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.B, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.C, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.D, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.E, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.F, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.G, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(PawnBuilder.New().WithGameplay(this).WithPosition(new Position(EColumn.H, ELine.Seven)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(RookBuilder.New().WithPosition(new Position(EColumn.A, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(KnightBuilder.New().WithPosition(new Position(EColumn.B, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(BishopBuilder.New().WithPosition(new Position(EColumn.C, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(QueenBuilder.New().WithPosition(new Position(EColumn.D, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(KingBuilder.New().WithPosition(new Position(EColumn.E, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(BishopBuilder.New().WithPosition(new Position(EColumn.F, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(KnightBuilder.New().WithPosition(new Position(EColumn.G, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); Board.AddPiece(RookBuilder.New().WithPosition(new Position(EColumn.H, ELine.Eight)).WithColor(EColor.Black).WithBoard(Board).Build()); }
public void ShouldMove(Position newPosition) { var board = BoardBuilder.New().Build(); board.ClearBoard(); var bishop = BishopBuilder.New().WithBoard(board).Build(); board.AddPiece(bishop); var moved = bishop.Move(newPosition); Assert.True(moved && bishop.Position.Equals(newPosition) && bishop.QuantityMove > 0); }
public void ShouldNotMove(Position newPosition) { var board = BoardBuilder.New().Build(); board.ClearBoard(); var bishop = BishopBuilder.New().WithBoard(board).Build(); var actualPosition = bishop.Position; board.AddPiece(bishop); var notMoved = !bishop.Move(newPosition); Assert.True(notMoved && bishop.Position.Equals(actualPosition) && bishop.QuantityMove == 0); }
public void ShouldMoveWithPiecesOnBoard(Position positionPieceToAddBoard, EColor colorPieceToAddBoard, Position newPosition) { var board = BoardBuilder.New().Build(); board.ClearBoard(); var pieceToAddBoard = BishopBuilder.New().WithPosition(positionPieceToAddBoard).WithColor(colorPieceToAddBoard).WithBoard(board).Build(); board.AddPiece(pieceToAddBoard); var bishop = BishopBuilder.New().WithBoard(board).Build(); var moved = bishop.Move(newPosition); Assert.True(moved && bishop.Position.Equals(newPosition) && bishop.QuantityMove > 0); }