Skip to content

titoFR7/MyFirstJavaGame-Gomoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gomoku - My First Java Game

Version française ci-dessous


EN - Gomoku - My First Java Game

Gomoku (Five in a Row) is a strategy board game for two players. This project implements it in Java with both a console mode and a graphical interface (Minecraft-themed).

Note: This was my first Java project and my first time working with event-driven programming (Swing). The code is far from perfect and should not be taken as a reference — it's a learning project above all.

Features

  • Console and GUI modes
  • Single player (vs AI), two players, or AI vs AI
  • Customizable board size and win conditions
  • Save and load system
  • Minecraft-themed graphics with Enderman sprites, block textures, sound effects and custom font

Project Structure

.
├── code/
│   └── Gomoku/
│       └── src/
│           └── fr/motatrechot/
│               ├── game/       # Game logic (Main, Game, Board, Cell, Player, Piece, IA, Sauvegarde)
│               └── gui/        # Graphical interface (AccueilGUI, SettingsGameGUI, GameGUI, etc.)
├── GUI/                        # Graphics, sounds and font resources
├── saves/                      # Save files
├── run.sh                      # Compilation and execution script (Linux)
└── Rapport.pdf                 # Project report (french)

Quick Start

Using the provided script (Linux)

chmod +x run.sh
./run.sh

The script automatically compiles the project, moves the required resources (GUI/, saves/) into the out/ directory, and launches the game.

Manual compilation

cd code/Gomoku/src
javac -d ../../../out fr/motatrechot/game/*.java fr/motatrechot/gui/*.java

Then run:

cd ../../../out
java -cp . fr.motatrechot.game.Main

Important Notes

  • For the GUI to work outside of an IDE, the GUI/ and saves/ folders must be placed inside the out/ directory alongside the compiled .class files.
  • If using an IDE like IntelliJ, these resources are automatically accessible via the classpath — no manual setup needed.
  • The save/load feature only works when the project structure is correctly set up (see above).

Expected output directory structure

out/
├── fr/
│   └── motatrechot/
│       ├── game/
│       │   └── *.class
│       └── gui/
│           └── *.class
├── GUI/
│   ├── start.png
│   ├── sound on.png
│   ├── enderman/
│   │   ├── red_left.png
│   │   └── ...
│   ├── blocks/
│   ├── sound/
│   └── ...
└── saves/
    └── sauvegardeTest.txt

FR - Gomoku - Mon premier jeu Java

Le Gomoku (Cinq en ligne) est un jeu de plateau stratégique pour deux joueurs. Ce projet l'implémente en Java avec un mode console et une interface graphique (thème Minecraft).

Note : Il s'agit de mon tout premier projet en Java et de ma première approche de la programmation événementielle (Swing). Le code est loin d'être parfait et ne doit pas être pris comme référence — c'est avant tout un projet d'apprentissage.

Fonctionnalités

  • Modes console et graphique
  • Un joueur (contre l'IA), deux joueurs, ou IA contre IA
  • Taille du plateau et conditions de victoire personnalisables
  • Système de sauvegarde et de reprise de partie
  • Graphismes thème Minecraft avec sprites Enderman, textures de blocs, effets sonores et police personnalisée

Structure du projet

.
├── code/
│   └── Gomoku/
│       └── src/
│           └── fr/motatrechot/
│               ├── game/       # Logique du jeu (Main, Game, Board, Cell, Player, Piece, IA, Sauvegarde)
│               └── gui/        # Interface graphique (AccueilGUI, SettingsGameGUI, GameGUI, etc.)
├── GUI/                        # Ressources graphiques, sons et police
├── saves/                      # Fichiers de sauvegarde
├── run.sh                      # Script de compilation et d'exécution (Linux)
└── Rapport.pdf                 # Rapport du projet

Démarrage rapide

Avec le script fourni (Linux)

chmod +x run.sh
./run.sh

Le script compile automatiquement le projet, déplace les ressources nécessaires (GUI/, saves/) dans le dossier out/, et lance le jeu.

Compilation manuelle

cd code/Gomoku/src
javac -d ../../../out fr/motatrechot/game/*.java fr/motatrechot/gui/*.java

Puis lancez le jeu :

cd ../../../out
java -cp . fr.motatrechot.game.Main

Notes importantes

  • Pour que l'interface graphique fonctionne en dehors d'un IDE, les dossiers GUI/ et saves/ doivent être placés dans le dossier out/ aux côtés des fichiers .class compilés.
  • Si vous utilisez un IDE comme IntelliJ, ces ressources sont automatiquement accessibles via le classpath — aucune manipulation nécessaire.
  • Le système de sauvegarde/reprise ne fonctionne que si la structure du projet est correctement respectée (voir ci-dessus).

Structure attendue du dossier de sortie

out/
├── fr/
│   └── motatrechot/
│       ├── game/
│       │   └── *.class
│       └── gui/
│           └── *.class
├── GUI/
│   ├── start.png
│   ├── sound on.png
│   ├── enderman/
│   │   ├── red_left.png
│   │   └── ...
│   ├── blocks/
│   ├── sound/
│   └── ...
└── saves/
    └── sauvegardeTest.txt

About

Projet Java du jeu de plateau Gomoku (jeu de stratégie d'alignement de pièces sur une grille). Le jeu propose : - Deux modes d'affichage : console (texte) ou interface graphique (GUI) avec un theme visuel inspire de Minecraft (polices, blocs, endermen, sons)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors