-
Notifications
You must be signed in to change notification settings - Fork 461
Expand file tree
/
Copy pathBoardFactory.java
More file actions
66 lines (60 loc) · 3.37 KB
/
BoardFactory.java
File metadata and controls
66 lines (60 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package chess;
import chess.piece.Bishop;
import chess.piece.King;
import chess.piece.Knight;
import chess.piece.Pawn;
import chess.piece.Piece;
import chess.piece.Queen;
import chess.piece.Rook;
import java.util.HashMap;
import java.util.Map;
public class BoardFactory {
public static Board makeBoard() {
Map<Position, Piece> pieces = new HashMap<>();
Piece whitePawn = new Piece(null, new Pawn(Team.WHITE), null);
Piece blackPawn = new Piece(null, new Pawn(Team.BLACK), null);
Piece whiteRook = new Piece(null, new Rook(Team.WHITE), null);
Piece blackRook = new Piece(null, new Rook(Team.BLACK), null);
Piece whiteBishop = new Piece(new Bishop(Team.WHITE), null, null);
Piece blackBishop = new Piece(new Bishop(Team.BLACK), null, null);
Piece whiteQueen = new Piece(new Queen(Team.WHITE), new Queen(Team.WHITE), null);
Piece blackQueen = new Piece(new Queen(Team.BLACK), new Queen(Team.BLACK), null);
Piece whiteKing = new Piece(new King(Team.WHITE), new Queen(Team.WHITE), null);
Piece blackKing = new Piece(new King(Team.BLACK), new Queen(Team.WHITE), null);
Piece whiteKnight = new Piece(null, null, new Knight(Team.WHITE));
Piece blackKnight = new Piece(null, null, new Knight(Team.WHITE));
pieces.put(new Position(Column.A, Row.TWO), whitePawn);
pieces.put(new Position(Column.B, Row.TWO), whitePawn);
pieces.put(new Position(Column.C, Row.TWO), whitePawn);
pieces.put(new Position(Column.D, Row.TWO), whitePawn);
pieces.put(new Position(Column.E, Row.TWO), whitePawn);
pieces.put(new Position(Column.F, Row.TWO), whitePawn);
pieces.put(new Position(Column.G, Row.TWO), whitePawn);
pieces.put(new Position(Column.H, Row.TWO), whitePawn);
pieces.put(new Position(Column.A, Row.ONE), whiteRook);
pieces.put(new Position(Column.B, Row.ONE), whiteKnight);
pieces.put(new Position(Column.C, Row.ONE), whiteBishop);
pieces.put(new Position(Column.D, Row.ONE), whiteQueen);
pieces.put(new Position(Column.E, Row.ONE), whiteKing);
pieces.put(new Position(Column.F, Row.ONE), whiteBishop);
pieces.put(new Position(Column.G, Row.ONE), whiteKnight);
pieces.put(new Position(Column.H, Row.ONE), whiteRook);
pieces.put(new Position(Column.A, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.B, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.C, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.D, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.E, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.F, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.G, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.H, Row.SEVEN), blackPawn);
pieces.put(new Position(Column.A, Row.EIGHT), blackRook);
pieces.put(new Position(Column.B, Row.EIGHT), blackKnight);
pieces.put(new Position(Column.C, Row.EIGHT), blackBishop);
pieces.put(new Position(Column.D, Row.EIGHT), blackQueen);
pieces.put(new Position(Column.E, Row.EIGHT), blackKing);
pieces.put(new Position(Column.F, Row.EIGHT), blackBishop);
pieces.put(new Position(Column.G, Row.EIGHT), blackKnight);
pieces.put(new Position(Column.H, Row.EIGHT), blackRook);
return new Board(pieces);
}
}