Ce projet de Bataille Navale, développé dans le cadre de la matière NSI (Numérique et Sciences Informatiques) en Terminale générale, vise à mettre en pratique et évaluer nos compétences acquises durant l'année de Première et le début de la Terminale. Il s'agit d'un travail de groupe qui combine programmation, utilisation de bases de données, et développement d'interfaces graphiques...
Ce projet a été réalisé du 12/12/2023 au 7/01/2024, les auteurs sont Léo Lesimple, Timothée Gallier et Léa-Angélina Kolmerschlag, il est distribué sous la license CC BY-NC-ND 4.0, voir en bas de page le détail, une copie de la license est disponibles dans le fichier LICENSE.
-
Python : Une version récente de Python (3.x) doit être installée. Le projet a été développé avec Python 3.8, mais il devrait être compatible avec les versions ultérieures.
-
Police :
- Parisine (disponible dans le dossier
font
)
- Parisine (disponible dans le dossier
-
Bibliothèques Python :
- Tkinter : Pour l'interface graphique. Tkinter est généralement inclus dans les installations standard de Python.
- SQLite3 : Utilisé pour la gestion de la base de données. Cette bibliothèque est normalement incluse dans les distributions standard de Python.
- Pyglet (optionnel) : Pour la gestion des sons dans le jeu, si utilisé.
- SQLite : Une base de données SQLite est requise pour stocker les informations des joueurs et leurs scores. Le fichier de base de données doit être nommé general.db.
-
Pour lancer le jeu, il suffit de lancer depuis votre environnement de développement ou depuis votre terminal.
- Pour lancer depuis le terminal :
- Pointer le dossier (répertoire) où sont stockés les fichiers du jeu.
- Taper
python index.py
oupy index.py
selon votre installation - Le jeu est lancé !
Cliquez pour lire les fonctionnalités.
Choix des joueurs parmi une liste existante dans une base de données. Vérification pour s'assurer que les deux joueurs sélectionnés sont différents.
Ajout de nouveaux joueurs dans la base de données. Suppression de joueurs existants de la base de données.
Affichage des scores des joueurs. Mise à jour des scores en fonction des performances dans le jeu.
Configuration des paramètres initiaux du jeu, comme le placement des bateaux.
Gestion des tours entre les joueurs. Placement des bateaux sur la grille de jeu. Exécution des tirs et gestion des résultats (touché, manqué, coulé). Détection et annonce du gagnant.
Fenêtres et interfaces graphiques pour la configuration du jeu, le jeu lui-même, et l'affichage des scores. Boutons interactifs pour diverses actions dans le jeu.
Messages d'erreur pour guider les utilisateurs lors de situations incorrectes (par exemple, sélection de joueurs identiques).
Lecture de sons d'ambiance pendant le jeu.
Affichage d'un écran de fin de jeu avec le nom du gagnant. Option pour fermer le jeu ou afficher le tableau des scores.
Écran d'accueil offrant des options pour commencer une nouvelle partie ou consulter le tableau des scores.
Affichage des noms des développeurs ou contributeurs du jeu.
Au lancement de nouvelles fenêtres, celle-ci a de temps en temps besoin d'être déplacée pour fonctionner, nous espérons trouver la solution à ce problème au plus vite !
- La partie de code produite par Léo est essentiellement formulée en anglais par habitude sur d'autres projets.
Fond mer : Image by kdekiara on Freepik
Projet Bataille Navale © 2024 by Léo Lesimple, Timothée Gallier, Léa-Angélina Kolmerschlag is licensed under CC BY-NC-ND 4.0