import java.awt.*; import java.awt.Color; import java.awt.event.*; import java.util.ArrayList; import javax.swing.*; import javax.swing.border.*; public class Chess extends JPanel implements ActionListener { // pieces stuff ArrayList white; ArrayList black; // game vars int boardWidth, boardHeight; boolean whiteTurn; Timer gameTimer; Color creme = new Color(254, 245, 218); Color brown = new Color(121, 92, 50); public Chess(int boardWidth, int boardHeight) { this.boardWidth = boardWidth; this.boardHeight = boardHeight; setPreferredSize(new Dimension(this.boardWidth, this.boardHeight)); setBackground(Color.WHITE); setFocusable(true); white = new ArrayList<>(); black = new ArrayList<>(); for (int i = 0; i <= 7; i++) { white.add(new Pawn(i + 1, 2, "White")); } for (int i = 0; i <= 7; i++) { black.add(new Pawn(i + 1, 7, "Black")); } gameTimer = new Timer(200, this); gameTimer.start(); repaint(); } public void gameLoop() {} public void draw(Graphics g) { // draw board for (int i = 1; i <= 8; i++) { for (int j = 1; j <= 8; j++) { g.setColor((i % 2 == 1 && j % 2 == 1) || (i % 2 == 0 && j % 2 == 0) ? creme : brown); g.fillRect(i * 40, j * 40, 40, 40); } } // draw pieces for (Piece p : white) p.draw(g); for (Piece p : black) p.draw(g); } public void paintComponent(Graphics g) { super.paintComponent(g); draw(g); } public void actionPerformed(ActionEvent e) { gameLoop(); repaint(); } }