This commit is contained in:
gaston667
2026-03-19 15:21:09 +01:00
parent b59379c5e9
commit 85b5127f8b
81 changed files with 162 additions and 86 deletions
View File
View File
+130
View File
@@ -0,0 +1,130 @@
SHELL := /usr/bin/env bash
.SUFFIXES:
OUT := build
MAIN_CLASS := Main
MODELE_BASE = \
src/modele/Couleur.java \
src/modele/ModeDeJeu.java \
src/modele/Coup.java
MODELE_ECHIQUIER = \
src/modele/Case.java \
src/modele/Plateau.java \
src/modele/piece/Piece.java \
src/modele/piece/Pion.java \
src/modele/piece/Tour.java \
src/modele/piece/Cavalier.java \
src/modele/piece/Fou.java \
src/modele/piece/Reine.java \
src/modele/piece/Roi.java
RESEAU_TYPES = \
src/reseau/TypeMessage.java \
src/reseau/MessageJeu.java
VUE_BASE = \
src/vue/Vue.java \
src/vue/VueConsole.java
JOUEURS = \
src/modele/joueur/Joueur.java \
src/modele/joueur/IA.java \
src/modele/joueur/JoueurHumain.java \
src/modele/joueur/JoueurIA.java
PARTIE = \
src/modele/Partie.java
VUE_SWING = \
src/vue/CaseSwingUI.java \
src/vue/PlateauSwingUI.java \
src/vue/ButtonEnvoyerMessageListener.java \
src/vue/ToucheEntrerEnvoyerMessageListener.java \
src/vue/VueGraphiqueSwing.java
CONTROLEURS_RESEAU = \
src/controleur/ControleurReseau.java \
src/controleur/ControleurPartie.java \
src/reseau/Client.java \
src/reseau/Serveur.java
MAIN = \
src/Main.java
MODELE_BASE_OUT := $(OUT)/modele/Coup.class
MODELE_ECHIQUIER_OUT := $(OUT)/modele/piece/Roi.class
RESEAU_TYPES_OUT := $(OUT)/reseau/MessageJeu.class
VUE_BASE_OUT := $(OUT)/vue/VueConsole.class
JOUEURS_OUT := $(OUT)/modele/joueur/JoueurIA.class
PARTIE_OUT := $(OUT)/modele/Partie.class
VUE_SWING_OUT := $(OUT)/vue/VueGraphiqueSwing.class
CONTROLEURS_RESEAU_OUT := $(OUT)/controleur/ControleurPartie.class
MAIN_OUT := $(OUT)/Main.class
.PHONY: all modele reseau vue joueurs partie controleurs run clean rebuild count-files count-lines stats
all: $(MAIN_OUT)
modele: $(MODELE_ECHIQUIER_OUT)
reseau: $(RESEAU_TYPES_OUT)
vue: $(VUE_SWING_OUT)
joueurs: $(JOUEURS_OUT)
partie: $(PARTIE_OUT)
controleurs: $(CONTROLEURS_RESEAU_OUT)
$(OUT):
mkdir -p "$(OUT)"
$(MODELE_BASE_OUT): $(MODELE_BASE) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(MODELE_BASE)
$(MODELE_ECHIQUIER_OUT): $(MODELE_ECHIQUIER) $(MODELE_BASE_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(MODELE_ECHIQUIER)
$(RESEAU_TYPES_OUT): $(RESEAU_TYPES) $(MODELE_BASE_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(RESEAU_TYPES)
$(VUE_BASE_OUT): $(VUE_BASE) $(MODELE_BASE_OUT) $(MODELE_ECHIQUIER_OUT) $(RESEAU_TYPES_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(VUE_BASE)
$(JOUEURS_OUT): $(JOUEURS) $(MODELE_BASE_OUT) $(MODELE_ECHIQUIER_OUT) $(VUE_BASE_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(JOUEURS)
$(PARTIE_OUT): $(PARTIE) $(MODELE_BASE_OUT) $(MODELE_ECHIQUIER_OUT) $(JOUEURS_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(PARTIE)
$(VUE_SWING_OUT): $(VUE_SWING) $(MODELE_BASE_OUT) $(MODELE_ECHIQUIER_OUT) $(RESEAU_TYPES_OUT) $(VUE_BASE_OUT) $(JOUEURS_OUT) $(PARTIE_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(VUE_SWING)
$(CONTROLEURS_RESEAU_OUT): $(CONTROLEURS_RESEAU) $(MODELE_BASE_OUT) $(RESEAU_TYPES_OUT) $(VUE_BASE_OUT) $(JOUEURS_OUT) $(PARTIE_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(CONTROLEURS_RESEAU)
$(MAIN_OUT): $(MAIN) $(VUE_SWING_OUT) $(CONTROLEURS_RESEAU_OUT) | $(OUT)
javac -cp "$(OUT)" -d "$(OUT)" $(MAIN)
run: $(MAIN_OUT)
java -cp "$(OUT)" $(MAIN_CLASS)
clean:
rm -rf "$(OUT)"
rebuild: clean all
count-files:
find src -type f -name '*.java' | wc -l
count-lines:
find src -type f -name '*.java' -exec cat {} + | wc -l
stats:
@printf "Fichiers Java: "
@find src -type f -name '*.java' | wc -l
@printf "Lignes Java: "
@find src -type f -name '*.java' -exec cat {} + | wc -l
+32 -86
View File
@@ -1,92 +1,38 @@
# CHESS # CHESS
Implémentation dun jeu d’échecs en Java (IUT de Fontainebleau). Projet Java de jeu d'echecs realise dans le cadre de l'IUT de Fontainebleau.
## Dépôts
- **Forge de lIUT** : `https://forge-fac.example.com/mon-orga/CHESS.git`
- **GitHub** : `https://github.com/Gaston667/CHESS.git`
## Commandes Git
```bash
# 1. Cloner le dépôt depuis la fac
git clone https://forge-fac.example.com/mon-orga/CHESS.git
cd CHESS
# 2. Ajouter GitHub comme remote supplémentaire
git remote add github https://github.com/Gaston667/CHESS.git
# 3. Vérifier les remotes
git remote -v
# 4. Récupérer les dernières modifications depuis la fac
git fetch origin
git pull origin main
# 5. Ajouter et committer des changements
git add .
git commit -m "Message du commit"
# 6. Pousser les changements vers la fac ET GitHub
git push origin main
git push github main
# 7. Pousser toutes les branches et tags (première synchro)
git push origin --all
git push github --all
git push origin --tags
git push github --tags
# 8. Créer et pousser une nouvelle branche
git checkout -b nouvelle-branche
git push origin nouvelle-branche
git push github nouvelle-branche
# 9. Resynchroniser les deux dépôts (mise à jour complète)
git fetch --all --prune
git push origin --all
git push github --all
git push origin --tags
git push github --tags
## Resume du projet
CHESS est une implementation d'un jeu d'echecs organisee en architecture MVC :
- modele : regles metier (plateau, pieces, coups, joueurs, partie)
- vue : affichage console et interface graphique Swing
- controleur : orchestration de la boucle de jeu et integration reseau
- reseau : echange de messages entre client et serveur pour une partie en ligne
Le point d'entree est `src/Main.java`.
## Fonctionnalites actuelles
- gestion du plateau et des pieces
- validation des deplacements de base via les classes de pieces
- suivi de l'historique des coups
- suivi des captures et affichage d'un score simple
- mode console et mode graphique Swing
- squelette de jeu en reseau (client/serveur + messages)
## Structure
```text
src/ src/
├── modele/ Couche Modèle (logique du jeu) Main.java
│ ├── Partie.java modele/
│ ├── Plateau.java controleur/
│ ├── Case.java vue/
│ ├── Coup.java reseau/
│ ├── Couleur.java enum ```
│ ├── ModeDeJeu.java enum
│ ├── piece/ ## Lancer le projet
│ │ ├── Piece.java abstraite Prerequis : JDK installe (commande `javac` disponible).
│ │ ├── Roi.java
│ │ ├── Reine.java
│ │ ├── Tour.java
│ │ ├── Cavalier.java ## Depot
│ │ ├── Fou.java Remote principal : `https://grond.iut-fbleau.fr/dialloa/CHESS.git`
│ │ └── 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
BIN
View File
Binary file not shown.
View File
View File
View File
View File
View File
View File
View File
View File
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More