|
@ -3,7 +3,7 @@ import sqlite3 |
|
|
|
|
|
|
|
|
class BaseDeDonnee: |
|
|
class BaseDeDonnee: |
|
|
"""classe pour dialoguer avec une base de donnée""" |
|
|
"""classe pour dialoguer avec une base de donnée""" |
|
|
def __init__(self, nom, force=0): |
|
|
def __init__(self, nom): |
|
|
"""initialisation de la base de donnée |
|
|
"""initialisation de la base de donnée |
|
|
-- si pb malgré création nouvelle table |
|
|
-- si pb malgré création nouvelle table |
|
|
supprimer manuellemnt l'ancienne table""" |
|
|
supprimer manuellemnt l'ancienne table""" |
|
@ -24,33 +24,45 @@ class BaseDeDonnee: |
|
|
"""déconnection de la base de donnée""" |
|
|
"""déconnection de la base de donnée""" |
|
|
self.con.close() |
|
|
self.con.close() |
|
|
|
|
|
|
|
|
def ajout_personnage(self,nom,categorie,pdv,exp, inventaire): |
|
|
def ajout_personnage(self,nom_perso,categorie,pdv,exp, inventaire): |
|
|
"""ajoute un personnage dans la base de donnée |
|
|
"""ajoute un personnage dans la base de donnée |
|
|
- caractéristiques : son nom, sa catégorie, |
|
|
- caractéristiques : son nom, sa catégorie, |
|
|
son nombre initial de point de vie et d'expérience""" |
|
|
son nombre initial de point de vie et d'expérience""" |
|
|
liste_nom = self.cur.execute("SELECT nom FROM "+self.nom).fetchall() |
|
|
liste_nom = self.cur.execute("SELECT nom FROM "+self.nom).fetchall() |
|
|
liste_nom = [elem[0] for elem in liste_nom] |
|
|
liste_nom = [elem[0] for elem in liste_nom] |
|
|
if nom in liste_nom: |
|
|
if nom_perso in liste_nom: |
|
|
raise NameError |
|
|
raise NameError |
|
|
if nom > 40: |
|
|
if len(nom_perso) > 40: |
|
|
raise ValueError |
|
|
raise ValueError |
|
|
else: |
|
|
else: |
|
|
values = (nom,categorie,pdv,exp,inventaire) |
|
|
values = (nom_perso,categorie,pdv,exp,inventaire) |
|
|
self.cur.execute("INSERT INTO "+self.nom+" VALUES(?,?,?,?,?)",values) |
|
|
self.cur.execute("INSERT INTO "+self.nom+" VALUES(?,?,?,?,?)",values) |
|
|
self.con.commit() |
|
|
self.con.commit() |
|
|
|
|
|
|
|
|
def change_pdv_sql(self,nom, n): |
|
|
def change_pdv(self, nom_perso, n): |
|
|
"""incrémente de n le nombre de point de vie du perso""" |
|
|
"""incrémente de n le nombre de point de vie du perso""" |
|
|
self.cur.execute("UPDATE "+self.nom+" SET pdv=pdv+? WHERE nom=?",(n,nom)) |
|
|
self.cur.execute("UPDATE "+self.nom+" SET pdv=pdv+? WHERE nom=?",(n,nom_perso)) |
|
|
self.con.commit() |
|
|
self.con.commit() |
|
|
|
|
|
|
|
|
def change_exp_sql(self,nom, n): |
|
|
def change_exp(self, nom_perso, n): |
|
|
"""incrémente de n le nombre de point d'exp. du perso""" |
|
|
"""incrémente de n le nombre de point d'exp. du perso""" |
|
|
self.cur.execute("UPDATE "+self.nom+" SET exp=exp+? WHERE nom=?",(n,nom)) |
|
|
self.cur.execute("UPDATE "+self.nom+" SET exp=exp+? WHERE nom=?",(n,nom_perso)) |
|
|
self.con.commit() |
|
|
self.con.commit() |
|
|
|
|
|
|
|
|
|
|
|
def get_cat(self, nom_perso): |
|
|
|
|
|
"""renvoie la catégorie d'un personnage""" |
|
|
|
|
|
return self.cur.execute("SELECT categorie FROM "+self.nom+" WHERE nom=?",(nom_perso,)).fetchone()[0] |
|
|
|
|
|
|
|
|
|
|
|
def get_exp(self, nom_perso): |
|
|
|
|
|
"""renvoie le nombre de point d'exp. d'un personnage""" |
|
|
|
|
|
return self.cur.execute("SELECT exp FROM "+self.nom+" WHERE nom=?",(nom_perso,)).fetchone()[0] |
|
|
|
|
|
|
|
|
|
|
|
def get_pdv(self, nom_perso): |
|
|
|
|
|
"""renvoie le nombre de point de vie d'un personnage""" |
|
|
|
|
|
return self.cur.execute("SELECT pdv FROM "+self.nom+" WHERE nom=?",(nom_perso,)).fetchone()[0] |
|
|
|
|
|
|
|
|
def affiche_inventaire(self,nom): |
|
|
def affiche_inventaire(self, nom_perso): |
|
|
"""renvoie l'inventaire d'un perso""" |
|
|
"""renvoie l'inventaire d'un perso""" |
|
|
inventaire_str = self.cur.execute("SELECT inventaire FROM "+self.nom+" WHERE nom=?",(nom,)).fetchone()[0] |
|
|
inventaire_str = self.cur.execute("SELECT inventaire FROM "+self.nom+" WHERE nom=?",(nom_perso,)).fetchone()[0] |
|
|
inventaire_lst = inventaire_str.split(",") |
|
|
inventaire_lst = inventaire_str.split(",") |
|
|
return inventaire_lst |
|
|
return inventaire_lst |