Adds new Java files for Chess game logic, piece representation, and display initialization, along with imports for GUI and event handling. Replit-Commit-Author: Agent Replit-Commit-Session-Id: f6819c21-e85d-45ac-acde-604db2cfa4fe Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: b3669ecc-6df5-4941-bb0c-6a0ed9bbd81e Replit-Helium-Checkpoint-Created: true
73 lines
1.8 KiB
Java
73 lines
1.8 KiB
Java
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<Piece> white;
|
|
ArrayList<Piece> 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();
|
|
}
|
|
} |