This commit is contained in:
HP_pellel
2025-07-20 17:43:35 +02:00
parent 919f2cd141
commit d5a0e402d5
30 changed files with 13064 additions and 47 deletions
+12861
View File
File diff suppressed because it is too large Load Diff
+38 -47
View File
@@ -1,47 +1,38 @@
# CHESS
D'accord ! Voici une **arborescence plus simple** pour ton projet d'échecs en Java avec Swing.
---
## **📂 Arborescence simplifiée**
```
ChessGame/
── src/ # Dossier des fichiers sources Java
│ ├── ChessGame.java # Point d'entrée du jeu
│ ├── Echiquier.java # Gère le plateau de jeu
│ ├── Piece.java # Classe mère pour les pièces
│ ├── Pion.java # Classe du Pion
│ ├── Tour.java # Classe de la Tour
├── Cavalier.java # Classe du Cavalier
│ ├── Fou.java # Classe du Fou
│ ├── Reine.java # Classe de la Reine
│ ├── Roi.java # Classe du Roi
│ ├── Joueur.java # Gère les joueurs et le tour
├── ChessGUI.java # Interface graphique en Swing
── assets/ # Images des pièces
│ ├── roi_noir.png
│ ├── roi_blanc.png
│ ├── ...
── README.md # Explication du projet
```
---
## **📜 Cahier des charges **
### **1. Objectif**
Créer un **jeu d'échecs en Java avec Swing**, jouable entre **deux joueurs sur le même PC**.
### **2. Fonctionnalités**
✅ Plateau 8x8 avec affichage des pièces
✅ Déplacement des pièces selon les règles
✅ Tour par tour (Blancs commencent)
✅ Vérification de l’échec et de l’échec et mat
✅ Interface simple avec Swing
### **3. Bonus (si possible)**
Mode contre une IA
Animation des déplacements
---
src/
├── modele/ ← 🔵 Couche Modèle (logique du jeu)
│ ├── Partie.java
│ ├── Plateau.java
│ ├── Case.java
│ ├── Coup.java
│ ├── Couleur.java ← enum
│ ├── ModeDeJeu.java ← enum
│ ├── piece/
│ ├── Piece.java ← abstraite
│ ├── Roi.java
│ ├── Reine.java
│ ├── Tour.java
│ ├── Cavalier.java
│ ├── Fou.java
│ └── Pion.java
│ ├── joueur/
│ ├── Joueur.java ← abstraite
│ ├── JoueurHumain.java
│ ├── JoueurIA.java
│ └── IA.java
├── vue/ ← 🟢 Couche Vue (console ou graphique)
│ ├── Vue.java ← interface
│ ├── VueConsole.java
├── VueGraphique.java
├── controleur/ ← 🟠 Couche Contrôleur
│ ├── ControleurPartie.java
│ └── ControleurReseau.java
├── reseau/ ← 🌐 Réseau (mode en ligne)
│ ├── MessageJeu.java
│ ├── TypeMessage.java ← enum
│ ├── Serveur.java
│ └── Client.java
└── Main.java ← Point d'entrée du jeu
Binary file not shown.
+4
View File
@@ -0,0 +1,4 @@
public class Main {
}
+5
View File
@@ -0,0 +1,5 @@
package controleur;
public class ControleurPartie {
}
+5
View File
@@ -0,0 +1,5 @@
package controleur;
public class ControleurReseau {
}
+28
View File
@@ -0,0 +1,28 @@
public class Case {
private int x;
private int y;
private Piece piece;
public Case(int x, int y) {
this.x = x;
this.y = y;
this.piece = null; // Initialement, la case est vide
}
public Point getPosition() {
return new Point(x, y);
}
public void setPiece(Piece piece) {
this.piece = piece;
}
public Piece getPiece() {
return piece;
}
public boolean estVide() {
return piece == null;
}
}
+4
View File
@@ -0,0 +1,4 @@
public enum Couleur {
BLANC,
NOIR;
}
+23
View File
@@ -0,0 +1,23 @@
import java.awt.Point;
public class Coup {
private int xDepart;
private int xArrivee;
private int yDepart;
private int yArrivee;
public Coup(int xDepart, int yDepart, int xArrivee, int yArrivee) {
this.xDepart = xDepart;
this.yDepart = yDepart;
this.xArrivee = xArrivee;
this.yArrivee = yArrivee;
}
public Point getOrigine(){
return new Point(xDepart, yDepart);
}
public Point getDestination(){
return new Point(xArrivee, yArrivee);
}
}
+3
View File
@@ -0,0 +1,3 @@
public enum ModeDeJeu {
}
View File
+3
View File
@@ -0,0 +1,3 @@
public class Plateau {
}
+5
View File
@@ -0,0 +1,5 @@
package joueur;
public class IA {
}
+5
View File
@@ -0,0 +1,5 @@
package joueur;
public class Joueur {
}
+5
View File
@@ -0,0 +1,5 @@
package joueur;
public class JoueurHumain {
}
+5
View File
@@ -0,0 +1,5 @@
package joueur;
public class JoueurIA {
}
+5
View File
@@ -0,0 +1,5 @@
package piece;
public class Cavalier {
}
+5
View File
@@ -0,0 +1,5 @@
package piece;
public class Fou {
}
+3
View File
@@ -0,0 +1,3 @@
public class Piece {
}
+5
View File
@@ -0,0 +1,5 @@
package piece;
public class Pion {
}
+5
View File
@@ -0,0 +1,5 @@
package piece;
public class Reine {
}
+5
View File
@@ -0,0 +1,5 @@
package piece;
public class Roi {
}
+5
View File
@@ -0,0 +1,5 @@
package piece;
public class Tour {
}
+5
View File
@@ -0,0 +1,5 @@
package reseau;
public class Client {
}
+5
View File
@@ -0,0 +1,5 @@
package reseau;
public class MessageJeu {
}
+5
View File
@@ -0,0 +1,5 @@
package reseau;
public class Serveur {
}
+7
View File
@@ -0,0 +1,7 @@
package reseau;
public enum TypeMessage {
DEMANDE_DE_PARTIE,
MOUVEMENT,
FIN_DE_PARTIE
}
+5
View File
@@ -0,0 +1,5 @@
package vue;
public class Vue {
}
+5
View File
@@ -0,0 +1,5 @@
package vue;
public class VueConsole {
}
+5
View File
@@ -0,0 +1,5 @@
package vue;
public class VueGraphique {
}