package chess; import java.io.Console; public class Game { private static boolean gameEnd=false; public Game(){ Board b = new Board(); b.initialisePieces(); b.printBoard(); int c = 0; while (!gameEnd){ //write the game logic String start, end; int i0, j0, i1, j1; if (c == 0){ System.out.println("--- Whites move ---"); Console console = System.console(); do{ start = console.readLine("> Enter origin: "); } while (!CheckInput.checkCoordinateValidity(start)); i0 = Character.getNumericValue(start.charAt(0))-1; j0 = (start.charAt(1))-97; if(!b.hasPiece(i0, j0)){ System.out.println("No piece on " + start); continue; } else if (b.getPiece(i0, j0).getColour()==PieceColour.BLACK) { System.out.println("Not your piece"); continue; } do{ end = console.readLine("> Enter destination: "); } while (!CheckInput.checkCoordinateValidity(end)); i1 = Character.getNumericValue(end.charAt(0))-1; j1 = (end.charAt(1))-97; if (b.hasPiece(i1,j1)){ if (b.getPiece(i1, j1).getColour()==PieceColour.WHITE) { System.out.println("Cannot move here"); continue; } } else if (b.hasPiece(i1,j1)){ if (b.getPiece(i1, j1).getColour()==PieceColour.BLACK) { Piece p = b.getPiece(i0, j0); b.movePiece(i0, j0, i1, j1, p); b.printBoard(); } } else { Piece p = b.getPiece(i0, j0); b.movePiece(i0, j0, i1, j1, p); b.printBoard(); } c = c + 1; } if (c == 1){ System.out.println("--- Blacks move ---"); Console console = System.console(); do{ start = console.readLine("> Enter origin: "); } while (!CheckInput.checkCoordinateValidity(start)); i0 = Character.getNumericValue(start.charAt(0))-1; j0 = (start.charAt(1))-97; if(!b.hasPiece(i0, j0)){ System.out.println("No piece on " + start); continue; } else if (b.getPiece(i0, j0).getColour()==PieceColour.WHITE) { System.out.println("Not your piece"); continue; } do{ end = console.readLine("> Enter destination: "); } while (!CheckInput.checkCoordinateValidity(end)); i1 = Character.getNumericValue(end.charAt(0))-1; j1 = (end.charAt(1))-97; if (b.hasPiece(i1,j1)){ if (b.getPiece(i1, j1).getColour()==PieceColour.BLACK) { System.out.println("Cannot move here"); continue; } } else if (b.hasPiece(i1,j1)){ if (b.getPiece(i1, j1).getColour()==PieceColour.WHITE) { Piece p = b.getPiece(i0, j0); b.movePiece(i0, j0, i1, j1, p); b.printBoard(); } } else { Piece p = b.getPiece(i0, j0); b.movePiece(i0, j0, i1, j1, p); b.printBoard(); } c = c - 1; } } } public static void main (String args[]){ Game g = new Game(); } }