From c24203e4815777f74c8c5ec2d7b3f9b8cae2dc53 Mon Sep 17 00:00:00 2001 From: "corentin.bollet" Date: Mon, 27 Nov 2023 16:57:05 +0100 Subject: [PATCH] =?UTF-8?q?fin=20r=C3=A9daction=20classe=20BaseDeDonnee=20?= =?UTF-8?q?&=20autres=20miscellann=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base_de_donnee.py | 47 ++++++++++++++++++++++++++++++++++------------ jdr_base.db | Bin 12288 -> 20480 bytes main.py | 3 ++- personnage.py | 7 ++++++- 4 files changed, 43 insertions(+), 14 deletions(-) diff --git a/base_de_donnee.py b/base_de_donnee.py index 5749c4f..5ec3853 100644 --- a/base_de_donnee.py +++ b/base_de_donnee.py @@ -1,28 +1,51 @@ import sqlite3 class BaseDeDonnee: - def __init__(self, nom): + """classe pour dialoguer avec une base de donnée""" + def __init__(self, nom, force=0): + """initialisation de la base de donnée + -- si pb malgré création nouvelle table + supprimer manuellemnt l'ancienne table""" self.nom = nom self.con = sqlite3.connect("jdr_base.db") self.cur = self.con.cursor() - self.cur.execute("CREATE TABLE IF NOT EXISTS "+self.nom+" (id INT PRIMARY KEY NOT NULL,nom VARCHAR(100),categorie VARCHAR(100),exp INT)") - + self.cur.execute("CREATE TABLE IF NOT EXISTS "+self.nom+" (id INTEGER PRIMARY KEY,nom VARCHAR(40),categorie VARCHAR(40),pdv INTEGER,exp INTEGER,inventaire VARCHAR(20))") self.con.commit() - self.con.close() def __str__(self): - self.con = sqlite3.connect("jdr_base.db") - self.cur = self.con.cursor() - + """pour pouvoir débuguer""" res = self.cur.execute("SELECT * FROM "+self.nom).fetchall() - + return str(res) + + def __del__(self): + """déconnection de la base de donnée""" + self.con.close() + def ajout_personnage(self,nom,categorie,pdv,exp, inventaire): + """ajoute un personnage dans la base de donnée + - caractéristiques : son nom, sa catégorie, + son nombre initial de point de vie et d'expérience""" + values = (nom,categorie,pdv,exp,inventaire) + self.cur.execute("INSERT INTO "+self.nom+" VALUES(NULL,?,?,?,?,?)",values) + self.con.commit() + + def change_pdv_sql(self,nom, n): + """incrémente de n le nombre de point de vie du perso + -- on suppose que les joueurs n'auront pas le même nom""" + self.cur.execute("UPDATE "+self.nom+" SET pdv=pdv+? WHERE nom=?",(n,nom)) self.con.commit() - self.con.close() - return str(res) - def ajouter_personnage(self): - pass + def change_exp_sql(self,nom, n): + """incrémente de n le nombre de point d'exp. du perso + -- on suppose que les joueurs n'auront pas le même nom""" + self.cur.execute("UPDATE "+self.nom+" SET exp=exp+? WHERE nom=?",(n,nom)) + self.con.commit() + def affiche_inventaire(self,nom): + """renvoie l'inventaire d'un perso + -- on suppose que les joueurs n'auront pas le même nom""" + inventaire_str = self.cur.execute("SELECT inventaire FROM "+self.nom+" WHERE nom=?",(nom,)).fetchone()[0] + inventaire_lst = inventaire_str.split(",") + return inventaire_lst \ No newline at end of file diff --git a/jdr_base.db b/jdr_base.db index 15e0c92e98c2a252cdeb856e038e8210dd00e79c..894f35a3162bbccf5a6477bf30017eaa18f8dd88 100644 GIT binary patch delta 119 zcmZojXjs5FL0V9Xfq{V)h?#+y1&Dbj>KKbkG3eRf5Ojbz-3&mRXDYx0Az@!Iuo0?wJ0M)re0o3 sYDIBjPG(7Jd}3)yekO