public override void PossibleMoves(int r, int c, ChessCell[,] matrix, PosMatrix[] vett) { int j = 0, i = 1; while (r + i < 8 && c + i < 8 && matrix[r + i, c + i].GetPiece() == null) { vett[j] = new PosMatrix(r + i, c + i); i++; j++; } // eat piece if (r + i < 8 && c + i < 8 && matrix[r + i, c + i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + i, c + i); j++; } i = 1; while (r - i >= 0 && c - i >= 0 && matrix[r - i, c - i].GetPiece() == null) { vett[j] = new PosMatrix(r - i, c - i); i++; j++; } // eat piece if (r - i >= 0 && c - i >= 0 && matrix[r - i, c - i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r - i, c - i); j++; } i = 1; while (c + i < 8 && r - i >= 0 && matrix[r - i, c + i].GetPiece() == null) { vett[j] = new PosMatrix(r - i, c + i); i++; j++; } // eat piece if (c + i < 8 && r - i >= 0 && matrix[r - i, c + i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r - i, c + i); j++; } i = 1; while (c - i >= 0 && r + i < 8 && matrix[r + i, c - i].GetPiece() == null) { vett[j] = new PosMatrix(r + i, c - i); i++; j++; } // eat piece if (c - i >= 0 && r + i < 8 && matrix[r + i, c - i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + i, c - i); j++; } }
public override void PossibleMoves(int r, int c, ChessCell[,] matrix, PosMatrix[] vett) { int j = 0, i = 0, k = 0; k = 2; i = 1; for (int f = 0; f < 2; f++) { if (r + k < 8) { if (c + i < 8) { if (matrix[r + k, c + i].GetPiece() == null || matrix[r + k, c + i].GetPiece() != null && matrix[r + k, c + i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + k, c + i); j++; } } if (c - i >= 0) { if (matrix[r + k, c - i].GetPiece() == null || matrix[r + k, c - i].GetPiece() != null && matrix[r + k, c - i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + k, c - i); j++; } } } if (r - k >= 0) { if (c + i < 8) { if (matrix[r - k, c + i].GetPiece() == null || matrix[r - k, c + i].GetPiece() != null && matrix[r - k, c + i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r - k, c + i); j++; } } if (c - i >= 0) { if (matrix[r - k, c - i].GetPiece() == null || matrix[r - k, c - i].GetPiece() != null && matrix[r - k, c - i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r - k, c - i); j++; } } } k = 1; i = 2; } }
public override void PossibleMoves(int r, int c, ChessCell[,] matrix, PosMatrix[] vett) { int j = 0, i = 1, k = 0; int[] v = { 1, 0, -1 }; for (int f = 0; f < 3; f++) { k = v[f]; if (r + k < 8 && r + k >= 0) { if (k != 0) { if (matrix[r + k, c].GetPiece() == null || matrix[r + k, c].GetPiece() != null && matrix[r + k, c].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + k, c); j++; } } if (c - i >= 0 && c - i < 8) { if (matrix[r + k, c - i].GetPiece() == null || matrix[r + k, c - i].GetPiece() != null && matrix[r + k, c - i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + k, c - i); j++; } } if (c + i < 8 && c + i >= 0) { if (matrix[r + k, c + i].GetPiece() == null || matrix[r + k, c + i].GetPiece() != null && matrix[r + k, c + i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + k, c + i); j++; } } } } }
public override void PossibleMoves(int r, int c, ChessCell[,] matrix, PosMatrix[] vett) { int j = 0, i = 1; /*if (matrix[r, c].GetPiece().GetColor() == true) * { * i = -1; * f = -2; * }*/ if (r + i < 8 && r + i >= 0) { if (matrix[r + i, c].GetPiece() == null) { vett[j] = new PosMatrix(r + i, c); j++; /*if (matrix[r, c].GetFirstMove() && matrix[r + 2, c].GetPiece() == null) // at the first move, a pawn can move 2 cells * { * vett[j] = new PosMatrix(r + 1, c); * j++; * }*/ } // eat pieces in oblique if (c - i >= 0 && c - i < 8 && matrix[r + i, c - i].GetPiece() != null && matrix[r + i, c - i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + i, c - i); j++; } // eat pieces in oblique if (c + i >= 0 && c + i < 8 && matrix[r + i, c + i].GetPiece() != null && matrix[r + i, c + i].GetPiece().GetColor() != matrix[r, c].GetPiece().GetColor()) { vett[j] = new PosMatrix(r + i, c + i); j++; } } }
public virtual void PossibleMoves(int r, int c, ChessCell[,] matrix, PosMatrix[] vett) { vett[0] = new PosMatrix(-1, -1); }
public Letter() { lunParola = -1; letter = '\0'; pos = null; }
public void SetPosMatrix(PosMatrix p) { pos = p; }
public Letter(PosMatrix p, int l) { lunParola = l; pos = p; }