import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ComponentOrientation;
import java.awt.Cursor;
import java.awt.GridLayout;
import java.awt.event.InputEvent;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import java.util.TreeMap;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import java.awt.Dimension;
public class ChessGame
extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane =
null;
private String jPieces
[][] =
new String[8][8];
// @jve:decl-index=0:
private JLabel lblStatus =
null;
private int heldX, heldY, heldI = -1;
// Map the full names of the pieces to their codenames (wRook, wQueen, etc.)
private Map pieceName =
new TreeMap();
// @jve:decl-index=0:
private JLabel lblCurrPlayer =
null;
// Stores the current player's move - we can easily match it against
// the first character of the pieces array
private char currPlayer = ' ';
private int[][] moves = new int[10][6];
private int currMove = 0;
/**
* This is the default constructor
*/
public ChessGame() {
super();
initialize();
buildBoard();
}
/**
* This method initializes btnUndo
*
* @return javax.swing.JButton
*/
if (btnUndo == null) {
btnUndo.setText("Undo");
btnUndo.setEnabled(false);
btnUndo.
addMouseListener(new java.
awt.
event.
MouseAdapter() {
public void mouseReleased
(java.
awt.
event.
MouseEvent e
) {
undoMove();
}
});
}
return btnUndo;
}
public static void main
( String args
[] ) {
new ChessGame().setVisible(true);
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(671, 555);
this.setContentPane(getJContentPane());
this.setTitle("Basic Chess");
this.
setExtendedState(JFrame.
MAXIMIZED_BOTH);
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane
() {
if (jContentPane == null) {
}
return jContentPane;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
if (jPanel == null) {
gridLayout.setRows(8);
gridLayout.setHgap(5);
gridLayout.setVgap(5);
gridLayout.setColumns(8);
jPanel.setLayout(gridLayout);
//buildBoard();
}
return jPanel;
}
private void newGame()
{
resetBoard();
resetPieces();
}
private void resetPieces()
{
jPieces[0][0] = "bRook";
jPieces[0][1] = "bKnight";
jPieces[0][2] = "bBishop";
jPieces[0][3] = "bKing";
jPieces[0][4] = "bQueen";
jPieces[0][5] = "bBishop";
jPieces[0][6] = "bKnight";
jPieces[0][7] = "bRook";
jPieces[1][0] = "bPawn";
jPieces[1][1] = "bPawn";
jPieces[1][2] = "bPawn";
jPieces[1][3] = "bPawn";
jPieces[1][4] = "bPawn";
jPieces[1][5] = "bPawn";
jPieces[1][6] = "bPawn";
jPieces[1][7] = "bPawn";
jPieces[6][0] = "wPawn";
jPieces[6][1] = "wPawn";
jPieces[6][2] = "wPawn";
jPieces[6][3] = "wPawn";
jPieces[6][4] = "wPawn";
jPieces[6][5] = "wPawn";
jPieces[6][6] = "wPawn";
jPieces[6][7] = "wPawn";
jPieces[7][0] = "wRook";
jPieces[7][1] = "wKnight";
jPieces[7][2] = "wBishop";
jPieces[7][3] = "wKing";
jPieces[7][4] = "wQueen";
jPieces[7][5] = "wBishop";
jPieces[7][6] = "wKnight";
jPieces[7][7] = "wRook";
RepaintPieces();
}
private void PaintPiece
(String pieceName,
int i
)
{
try
{
if(pieceName != null && pieceName != "")
{
//System.out.println("Painted " + pieceName + " at " + i);
}
else
{
lblCells[i].setIcon(null);
//System.out.println("Cleared cell at " + i);
}
}
{
e.printStackTrace();
}
}
private void RepaintPieces()
{
int i = 0;
for(int x = 0