diff --git a/chess/board/Board.java b/chess/board/Board.java index ec04909..3cf5ae3 100644 --- a/chess/board/Board.java +++ b/chess/board/Board.java @@ -6,7 +6,6 @@ public class Board { private static final int SIZE = 8; private Field field; - private final Piece[/* column */][/* row */] grid; public Board() { @@ -60,15 +59,27 @@ public class Board { * just getting replaced. */ public void move(Field from, Field to) { - System.out.println(getPiece(from).getType()); - System.out.println(from.getColumn()); - if (getPiece(from).getType() == Type.PAWN && - getPiece(from).getColor() == Color.WHITE) { - grid[0][4] = new Pawn() - } + //System.out.println(getPiece(from).getType()); + //System.out.println(from.getColumn()); - //check if move is valid by piece - //set Piece to new position + if (getPiece(from).getType() == Type.PAWN && + (getPiece(from).getColor() == Color.WHITE || + getPiece(from).getColor() == Color.BLACK)) { + grid[to.getColumn()][to.getRow()] = getPiece(from); + grid[from.getColumn()][from.getRow()] = null; + } else if (getPiece(from).getType() == Type.ROOK && + getPiece(from).getColor() == Color.WHITE) { + grid[to.getColumn()][to.getRow()] = new Rook(Color.WHITE, Type.ROOK); + grid[from.getColumn()][from.getRow()] = null; + + //check if move is valid by piece + //set Piece to new position +// if (getPiece(from).getType() == Type.PAWN && +// getPiece(from).getColor() == Color.WHITE) { +// grid[to.getColumn()][to.getRow()] = getPiece(from); +// grid[from.getColumn()][from.getRow()] = null; +// } else + } } /** diff --git a/chess/board/Field.java b/chess/board/Field.java index 8d727ae..f1113c1 100644 --- a/chess/board/Field.java +++ b/chess/board/Field.java @@ -40,57 +40,73 @@ public class Field { * it should throw an IllegalArgument exception. */ public static Field fromString(String value) throws IllegalArgumentException { - char[] array = value.toCharArray(); - int column_ = 0; - int row_ = 0; + try { + char[] array = value.toCharArray(); + int column_ = 0; + int row_ = 0; - //System.out.println(array[0]); + switch (array[0]) { + case 'A': + column_ = 0; + break; + case 'B': + column_ = 1; + break; + case 'C': + column_ = 2; + break; + case 'D': + column_ = 3; + break; + case 'E': + column_ = 4; + break; + case 'F': + column_ = 5; + break; + case 'G': + column_ = 6; + break; + case 'H': + column_ = 7; + break; + default: + System.out.println("Wrong input"); + } - switch(array[0]) { - case 'A': column_ = 0; - break; - case 'B': column_ = 1; - break; - case 'C': column_ = 2; - break; - case 'D': column_ = 3; - break; - case 'E': column_ = 4; - break; - case 'F': column_ = 5; - break; - case 'G': column_ = 6; - break; - case 'H': column_ = 7; - break; - default: - System.out.println("Wrong input"); + switch (array[1]) { + case '1': + row_ = 0; + break; + case '2': + row_ = 1; + break; + case '3': + row_ = 2; + break; + case '4': + row_ = 3; + break; + case '5': + row_ = 4; + break; + case '6': + row_ = 5; + break; + case '7': + row_ = 6; + break; + case '8': + row_ = 7; + break; + default: + System.out.println("Wrong input"); + } + //System.out.println(from(column_, row_)); + return from(column_, row_); + } catch (RuntimeException e) { + throw new RuntimeException(e); } - - //System.out.println(array[1]); - - switch(array[1]) { - case '1': row_ = 0; - break; - case '2': row_ = 1; - break; - case '3': row_ = 2; - break; - case '4': row_ = 3; - break; - case '5': row_ = 4; - break; - case '6': row_ = 5; - break; - case '7': row_ = 6; - break; - case '8': row_ = 7; - break; - default: - System.out.println("Wrong input"); - } - //System.out.println(from(column_, row_)); - return from(column_, row_); } public int getColumn() {