57 lines
2.2 KiB
Java
57 lines
2.2 KiB
Java
package chess.io.commands;
|
|
|
|
import chess.io.Command;
|
|
import chess.io.CommandResult;
|
|
import chess.io.OutputSystem;
|
|
import chess.model.ChessBoard;
|
|
import chess.model.Color;
|
|
import chess.model.Coordinate;
|
|
import chess.model.Game;
|
|
import chess.model.pieces.Bishop;
|
|
import chess.model.pieces.King;
|
|
import chess.model.pieces.Knight;
|
|
import chess.model.pieces.Pawn;
|
|
import chess.model.pieces.Queen;
|
|
import chess.model.pieces.Rook;
|
|
|
|
public class NewGameCommand extends Command {
|
|
public CommandResult execute(Game game, OutputSystem outputSystem) {
|
|
ChessBoard board = game.getBoard();
|
|
|
|
for (int i = 0; i < 8; i++) {
|
|
board.pieceComes(new Pawn(Color.Black), new Coordinate(i, 0));
|
|
board.pieceComes(new Pawn(Color.White), new Coordinate(i, Coordinate.VALUE_MAX - 1));
|
|
}
|
|
|
|
board.pieceComes(new Rook(Color.Black), new Coordinate(0, 1));
|
|
board.pieceComes(new Rook(Color.Black), new Coordinate(Coordinate.VALUE_MAX - 1, 1));
|
|
|
|
board.pieceComes(new Rook(Color.White), new Coordinate(0, Coordinate.VALUE_MAX - 2));
|
|
board.pieceComes(new Rook(Color.White), new Coordinate(Coordinate.VALUE_MAX - 1, Coordinate.VALUE_MAX - 2));
|
|
|
|
board.pieceComes(new Knight(Color.Black), new Coordinate(1, 1));
|
|
board.pieceComes(new Knight(Color.Black), new Coordinate(Coordinate.VALUE_MAX - 2, 1));
|
|
|
|
board.pieceComes(new Knight(Color.White), new Coordinate(1, Coordinate.VALUE_MAX - 2));
|
|
board.pieceComes(new Knight(Color.White), new Coordinate(Coordinate.VALUE_MAX - 2, Coordinate.VALUE_MAX - 2));
|
|
|
|
board.pieceComes(new Bishop(Color.Black), new Coordinate(2, 1));
|
|
board.pieceComes(new Bishop(Color.Black), new Coordinate(Coordinate.VALUE_MAX - 3, 1));
|
|
|
|
board.pieceComes(new Bishop(Color.White), new Coordinate(2, Coordinate.VALUE_MAX - 2));
|
|
board.pieceComes(new Bishop(Color.White), new Coordinate(Coordinate.VALUE_MAX - 3, Coordinate.VALUE_MAX - 2));
|
|
|
|
board.pieceComes(new Queen(Color.Black), new Coordinate(4, 1));
|
|
board.pieceComes(new King(Color.Black), new Coordinate(3, 1));
|
|
|
|
board.pieceComes(new Queen(Color.White), new Coordinate(4, Coordinate.VALUE_MAX - 2));
|
|
board.pieceComes(new King(Color.White), new Coordinate(3, Coordinate.VALUE_MAX - 2));
|
|
|
|
game.resetPlayerTurn();
|
|
|
|
outputSystem.gameStarted();
|
|
|
|
return CommandResult.NotMoved;
|
|
}
|
|
}
|