Bienvenue sur le site dédié a notre projet en ISN,
consacré au développement d'un puissance 4.

Le projet est un puissance 4 un peut spécial nottamment par
des fonctionnalités "avancés" que vous pourrez entrevoir.

Cahier des charges

- Le jeu classique du puissance 4
- Une interface graphique permettant de parametrer le jeu
- Une possibilité de jouer en réseau avec un utilisateur a distance
- Une possibilité de discuter via un chat en réseau
- Un jeu contre l'ordinateur (Bot)
- Une possibilité de jouer au morpion
- Un score dans un onglet dédiée
- Des menus pour avoir une interface parfaite


Développement :

Date Avancement
16/04 Création et développement du site internet, création du plateau de jeu et détection du clic (java)
29/04 Développement de l'interface graphique, afficher le jeu avec codage pixel
30/04 Intégration des paramètres du "puissance 4" dans l'interface graphique, détection du clic sur le jeu
01/05 Alignement des composants de l'interface graphique, intégration du codage pixel dans javaprog pour faire fonctionner avec le GUI.
02/05 Amélioration graphique des onglets, détection des tours du puissance 4
03/05 Commencement de l'onglet chat, détection du gagnant
07/05 Développement du site internet, création du bot
21/05 Chat fonctionelle en réseau et amélioration du bot
22/05 Amélioration de l'interface graphique, création de cheat code pour gagner automatiquement
23/05 Rajout de Jradiobouton pour choisir entre le serveur et le client pour jouer en réseau, rassemblement entre nos codes
25/05 Modification de l'onglet score (ajout de "l'historique des parties"), correction et optimisation du jeu
26/05 Création du menu de l'interface et de ces sous menus, essai de faire communiquer le jeu en réseau

Interface graphique pour les paramètres du Puissance 4

Onglet chat pour discuter avec l'adversaire

Onglet score, pour afficher l'historique des parties

Une partie de Puissance 4

Le menu paramètres avancés sur la difficulté du Bot


Les fonctions :

Les principales fonctions

Nom de la fonction Description
void jeu() Appel toute les fonction pour permettre le jeu
void bot() Permet de generer des coordonées aléatoire pour jouer l'ordinateur
void quadrillage() Génere la grille du jeu (codage Pixel)
void placerJeton((int ligne, int colonne, String couleur)) Fonction qui permet de placer le jeton ou le joueur a cliqué
void testGagnant()) Fonction qui permet de detecter le gagnant et d'arreter le jeu.
void checkJeuFull() Permet de savoir quand la grille est remplie
void envoyerCoordonne (int coordonee []) Permet d'envoyer des coordonné pour le jeu en réseau
recevoirCoordonee() Lance le thread pour recevoir les coordonee pour le jeu en réseau

Les principales variables

Nom de la fonction Description
int LARGEUR Valeur de la largeur de la fenêtre du Puissance 4
int HAUTEUR Valeur de la hauteur de la fenêtre du Puissance 4
int PORT Port utilisé dans le réseau
String IP_Adversaire IP de l'adversaire
int CARREAU Taille d'un carreau de la grille du puissance 4
boolean partieFinie Permet de savoir lorsque la partie est terminée
boolean clic Permet de savoir lorsque un joueur a cliqué
int tour Permet de savoir les tours
int [] pionJoue Tableau contenant les coordonnées du dernier pion joué (pour l'IA)
boolean jeuGo Permet de lancer le jeu
JTextArea textArea Permet l'affichage du chat
JTextArea scoreTextArea Permet l'affichage de l'historique des scores
boolean preskVertical Permet la détection de 3 pions aligné verticalement (idem pour toute les direction )
boolean connecte Détecte la connexion du joueur en réseau

Les principales classes

Nom de la fonction Description
class RecevoirMessage Permet la réception d'un message via le chat
class TabbedPane Permet l'affichage des onglets et du menu avec les sous menus.
class ChatPanel Permet la création de l'onglet Chat
class envoyerBoutonListener Permet écoute de bouton et d'agir en conséquence
class Fenetre Affichage de tout les paramètres dans des cases définies
Public class ScorePanel Affichage de l'onglet Score
Public class Progress Barre de chargement avant le lancement du jeu

Le partage des tâches

Comment on s'est répartit les tâches :

Stan Sami
Création du site internet Affichage du jeu puissance 4 : afficher le jeu (codagepixels)
Création de l'onglet "Score" Placement des carrés après le clic
Interface graphique en Java(pur) pour paramétrer les choix du puissance 4 Moteur du jeu : toute les fonctions (quand 4carrés alignés, les tours, détecter le gagnant)
Création de l'interface Chat Fonction pour jouer en réseau sur le jeu
Fonction pour parler sur le chat Fonction pour jouer sur le même pc avec un ami
Avoir un menu composé de sous menus dans l'interface Fonction pour jouer avec un Bot