Ce projet est un jeu RPG 2D développé en Python en groupe de 3 pour le cours de Numérique et Sciences Informatiques (NSI) de terminale. Le jeu combine des mécaniques classiques de RPG avec une base de données SQL pour la gestion des données des joueurs et du monde du jeu. Nous avions une limite d'un mois et demi pour le concevoir, le coder et préparer une présentation de 10 minutes évaluée qui comporte: un cahier des charges du projet, une analyse fonctionnelle et une présentation sur Canva.
Monde 2D avec système de combat au tour par tour, Amélioration des statistiques du personnage et difficulté progressive
Utilisation de SQL pour stocker les données des joueurs, des monsres, des armes et de la progression avec un identifiant unique par joueur.
Travail en équipe via GitHub avec gestion de versions et organisation des tâches
Système complet de progression avec niveaux, expérience et amélioration de statistiques
class Combat:
def __init__(self, joueur, ennemi):
self.joueur = joueur
self.ennemi = ennemi
self.tour_joueur = True
def attaquer(self, degats):
if self.tour_joueur:
self.ennemi.pv -= degats
self.tour_joueur = False
else:
self.joueur.pv -= self.ennemi.attaque()
self.tour_joueur = True
def est_termine(self):
return self.joueur.pv <= 0 or self.ennemi.pv <= 0
import sqlite3
class BDD:
def __init__(self):
self.connexion = sqlite3.connect('rpg_game.db')
self.curseur = self.connexion.cursor()
def sauvegarder_joueur(self, joueur):
self.curseur.execute("""
INSERT INTO joueurs (nom, niveau, exp, pv)
VALUES (?, ?, ?, ?)
""", (joueur.nom, joueur.niveau, joueur.exp, joueur.pv))
self.connexion.commit()
class Personnage:
def __init__(self, nom, classe, niveau=1):
self.nom = nom
self.classe = classe
self.niveau = niveau
self.pv_max = 100 * niveau
self.pv = self.pv_max
self.attaque = 10 + (5 * niveau)
self.defense = 5 + (2 * niveau)
self.exp = 0
def gagner_exp(self, montant):
self.exp += montant
if self.exp >= 100 * self.niveau:
self.monter_niveau()
Vous pouvez accéder au code source du projet sur notre dépôt GitHub.
pip install arcade
pip install mysql-connector-python
Exécutez le script check_db.py pour initialiser
la base de données
Lancez Main.py pour démarrer le jeu.