public class Chess {
static final int xmin = 0;
static final int ymin = 0;
static final int xmax = 7;
static final int ymax = 7;
static final int xn = 8;
static final int yn = 8;
static final int north = 0;
static final int east = 1;
static final int south = 2;
static final int west = 3;
static final boolean lives = true;
static final boolean death = false;
static final boolean black = true;
static final boolean white = false;
Chess() {
Board brd = new Board();
brd.printBoard();
}
class Board {
Figure [][] board = new Figure [yn][xn];
Gambler wht;
Gambler blk;
Board () {
int i, j;
for (i = ymin; i <= ymax; i++)
for (j = xmin; j <= xmax; j++)
new Empty (i, j);
this.wht = new Gambler (white);
this.blk = new Gambler (black);
}
void printBoard () {
int i, j;
for (i = ymin; i <= ymax; i++) {
for (j = xmin; j <= xmax; j++)
System.out.print(board[i][j].getname() + " ");
System.out.println ();
}
}
class Gambler {
boolean color;
Gambler (boolean color) {
this.color = color;
if (color == white) {
Rook rook1 = new Rook (0, 0);
Rook rook2 = new Rook (0, 7);
Knight knight1 = new Knight (0, 1);
Knight knight2 = new Knight (0, 6);
Bishop bishop1 = new Bishop (0, 2);
Bishop bishop2 = new Bishop (0, 5);
King king = new King (0, 3);;
Queen queen = new Queen (0, 4);
Pawn pawn1 = new Pawn (1, 0);
Pawn pawn2 = new Pawn (1, 1);
Pawn pawn3 = new Pawn (1, 2);
Pawn pawn4 = new Pawn (1, 3);
Pawn pawn5 = new Pawn (1, 4);
Pawn pawn6 = new Pawn (1, 5);
Pawn pawn7 = new Pawn (1, 6);
Pawn pawn8 = new Pawn (1, 7);
}
else if (color == black) {
Rook rook1 = new Rook (7, 0);
Rook rook2 = new Rook (7, 7);
Knight knight1 = new Knight (7, 1);
Knight knight2 = new Knight (7, 6);
Bishop bishop1 = new Bishop (7, 2);
Bishop bishop2 = new Bishop (7, 5);
King king = new King (7, 3);;
Queen queen = new Queen (7, 4);
Pawn pawn1 = new Pawn (6, 0);
Pawn pawn2 = new Pawn (6, 1);
Pawn pawn3 = new Pawn (6, 2);
Pawn pawn4 = new Pawn (6, 3);
Pawn pawn5 = new Pawn (6, 4);
Pawn pawn6 = new Pawn (6, 5);
Pawn pawn7 = new Pawn (6, 6);
Pawn pawn8 = new Pawn (6, 7);
}
}
}
class Figure {
int x;
int y;
boolean alive;
String name;
int getx() {return x;}
int gety() {return y;}
boolean isalive() {return alive;}
void setdeath() {this.alive = death;}
void setalive() {this.alive = lives;}
void setx(int x) { this.x = x;}
void sety(int y) {this.y = y;}
String getname () {return name;}
void setname (String name) {this.name = name;}
}
class Pawn extends Figure {
Pawn (int x, int y) {
setalive();
setx (x);
sety (y);
setname ("pawn");
board [x][y] = this;
}
}
class Rook extends Figure {
Rook(int x, int y) {
setalive();
setx (x);
sety (y);
setname ("rook");
board [x][y] = this;
}
}
class Knight extends Figure {
Knight (int x, int y) {
setalive();
setx (x);
sety (y);
setname ("knight");
board [x][y] = this;
}
}
class Bishop extends Figure {
Bishop (int x, int y) {
setalive();
setx (x);
sety (y);
setname ("bishop");
board [x][y] = this;
}
}
class King extends Figure {
King (int x, int y) {
setalive();
setx (x);
sety (y);
setname ("king");
board [x][y] = this;
}
}
class Queen extends Figure {
Queen (int x, int y) {
setalive();
setx (x);
sety (y);
setname ("queen");
board [x][y] = this;
}
}
class Empty extends Figure {
Empty (int x, int y) {
setalive();
setx (x);
sety (y);
setname ("empty");
board [x][y] = this;
}
}
}
}