public void move(Pawn c, Point s, Board x, int a) { /*moves peice if it does not put own king in check, or if the * program is simulating a checkmate. If program is simulating a checkmate program will not "eat" other pieces (hnece the skip method).*/ int t = x.board[s.X, s.Y]; Boolean skip = true; x.cannotmove = false; int numx2 = x.numx; int numy2 = x.numy; Point unmove = new Point(c.coords.X, c.coords.Y); if (x.board[s.X, s.Y] != 0 && x.board[s.X, s.Y] * a < 0) { if (x.checkmachecker) { skip = false; } else { x.eat(s, x); } } c.coords = new Point(x.Grid[s.X, s.Y].X + 23, x.Grid[s.X, s.Y].Y+ 10); x.board[s.X, s.Y] = a; x.turner = x.turner * - 1; Boolean kingcheck = false; if (skip) { if (x.turncount % 2 == 0) { kingcheck = x.checkcheck(x, x.whiteking); } else { kingcheck = x.checkcheck(x, x.blacking); } } if (kingcheck || x.checkmachecker) { c.coords = new Point(unmove.X, unmove.Y); x.board[s.X, s.Y] = t; x.board[numx2, numy2] = a; if (kingcheck) { x.cannotmove = true; } } x.numx = numx2; x.numy = numy2; x.turner = x.turner * -1; }
public void setpieces() { /*Sets peices in coordinates, and unseen board of ints that lets the * program see whether a space is occupied by a black or white pices*/ for (int i = 0; i < 8; i++) { blackpawns[i] = new Pawn(1, i); board[i, 6] = 1; } for (int i = 0; i < 8; i++) { whitepawns[i] = new Pawn(2, i); board[i, 1] = -1; } for (int i = 0; i < 2; i++) { blackrooks[i] = new Rook(1, i); board[i * 7, 7] = 2; } for (int i = 0; i < 2; i++) { whiterooks[i] = new Rook(2, i); board[i * 7, 0] = -2; } for (int i = 0; i < 2; i++) { blacknights[i] = new Knight(1, i); board[i * 5 + 1, 7] = 3; } for (int i = 0; i < 2; i++) { whiteknights[i] = new Knight(2, i); board[i * 5 + 1, 0] = -3; } for (int i = 0; i < 2; i++) { blackbishops[i] = new Bishop(1, i); board[i * 3 + 2, 7] = 4; } for (int i = 0; i < 2; i++) { whitebishops[i] = new Bishop(2, i); board[i * 3 + 2, 0] = -4; } board[3, 7] = 5; board[4, 7] = 6; board[3, 0] = -6; board[4, 0] = -5; }
public void geteaten(Pawn c, Board x, int a) { /*Relocates pice out of the board if it is eaten (notice King does ot have a geteaten * cabability, as once it is in checkmate the gmae ends.*/ if (a == 1) { if (x.count == 4) { x.count = 0; x.n += 70; } c.coords = new Point(x.n, x.m + (70 * x.count)); x.count++; } else { if (x.count2 == 4) { x.count2 = 0; x.o += 70; } c.coords = new Point(x.o, x.p + (70 * x.count2)); x.count2++; } }