Upload initial chess file

This commit is contained in:
CT
2026-04-20 20:20:34 +00:00
commit 51eaecdfa0
4 changed files with 124 additions and 0 deletions

73
Chess.java Normal file
View File

@@ -0,0 +1,73 @@
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();
}
}

23
Display.java Normal file
View File

@@ -0,0 +1,23 @@
import javax.swing.*;
public class Display {
public static void main(String[] args) throws Exception{
//creating instance of JFrame
int boardWidth = 400;
int boardHeight = 400;
JFrame game = new JFrame();
game.setSize(boardWidth, boardHeight);
game.setVisible(true);
game.setLocationRelativeTo(null);
game.setResizable(false);
Chess chess = new Chess(boardWidth, boardHeight);
game.add(chess);
game.pack();
chess.requestFocus();
}
}
//images : https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQN6qOyhiUDLlTlwl19PaMTeiY5rSOqkUqu-g&s

10
Pawn.java Normal file
View File

@@ -0,0 +1,10 @@
import java.awt.*;
import javax.swing.ImageIcon;
public class Pawn extends Piece{
public Pawn(int x, int y,String color){
super(x,y,new ImageIcon("Sprites/" + color + "/Pawn.png").getImage());
}
}

18
Piece.java Normal file
View File

@@ -0,0 +1,18 @@
import java.awt.*;
import java.util.*;
public class Piece{
ArrayList<Integer> legalMoves;
int x,y;
Image sprite;
public Piece(int x, int y, Image sprite){
this.x = x;
this.y = y;
this.sprite = sprite;
}
public void draw(Graphics g){
g.drawImage(sprite,x * 40,y * 40,null);
}
}