corentin.bollet
1 year ago
4 changed files with 43 additions and 14 deletions
@ -1,28 +1,51 @@ |
|||||
import sqlite3 |
import sqlite3 |
||||
|
|
||||
class BaseDeDonnee: |
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.nom = nom |
||||
|
|
||||
self.con = sqlite3.connect("jdr_base.db") |
self.con = sqlite3.connect("jdr_base.db") |
||||
self.cur = self.con.cursor() |
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.commit() |
||||
self.con.close() |
|
||||
|
|
||||
def __str__(self): |
def __str__(self): |
||||
self.con = sqlite3.connect("jdr_base.db") |
"""pour pouvoir débuguer""" |
||||
self.cur = self.con.cursor() |
|
||||
|
|
||||
res = self.cur.execute("SELECT * FROM "+self.nom).fetchall() |
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() |
self.con.commit() |
||||
self.con.close() |
|
||||
return str(res) |
|
||||
|
|
||||
def ajouter_personnage(self): |
def change_pdv_sql(self,nom, n): |
||||
pass |
"""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() |
||||
|
|
||||
|
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 |
Binary file not shown.
Loading…
Reference in new issue