import java.util.ArrayList; import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.border.*; import java.awt.Color; 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(); } }