diff --git a/jdr.py b/jdr.py index c9a0191..69629f1 100644 --- a/jdr.py +++ b/jdr.py @@ -1,4 +1,4 @@ -from random import* +from random import * import sqlite3 class Personnage: def __init__(self, nom, cat): @@ -34,6 +34,14 @@ class Personnage: defPoints = randint(1, 20) return defPoints + self.exp*self.coefDef*0.1 + def affiche_coefatk(self): + """renvoie le coef atk du personnage""" + return self.coefAtk + + def affiche_coefdef(self): + """renvoie le coef def du personnage""" + return self.coefDef + def change_pdv(self, nb_pdv): """modifie le nombre de points de vie""" self.pdv = self.pdv + nb_pdv @@ -53,6 +61,14 @@ class Personnage: def affiche_nom(self): """renvoie le nom du personnage""" return self.nom + + def affiche_cat(self): + """renvoie la catégorie du personnage""" + return self.cat + + def affiche_xp(self): + """renvoie l'xp du personnage""" + return self.exp def affiche_caracteristiques(self): """affiche les caractéristiques du personnage (nom, catégorie, pdv, pts d'exp)""" @@ -65,9 +81,28 @@ class Personnage: def affiche_inventaire(self): """affiche le contenu de l'inventaire du personnage""" print("Contenu de l'inventaire de", self.nom, ":",self.inventaire) + + def affiche_inventaireSQL(self): + """affiche le contenu de l'inventaire du personnage (pour SQL)""" + return self.inventaire + + def combat(Perso1, Perso2): """simule un combat jusqu'à ce qu'un personnage n'a plus de points de vie puis donne un point d'expérience au survivant""" + + conn = sqlite3.connect("Personnage.db") + c = conn.cursor() + c.execute('''CREATE TABLE if not exists Personnage(nom VARCHAR(255), catégorie VARCHAR(255), pdv INT, xp INT, ObjetN°1 TEXT, ObjetN°2 TEXT, CoefAtk INT, CoefDef INT)''') + Per1 = (Perso1.affiche_nom(), Perso1.affiche_cat(), Perso1.nombre_pdv(), Perso1.affiche_xp(), Perso1.affiche_inventaireSQL()[0],Perso1.affiche_inventaireSQL()[1], Perso1.affiche_coefatk(), Perso1.affiche_coefdef(),) + c.execute("INSERT INTO Personnage VALUES (?, ?, ?, ?, ?, ?, ?, ?)", Per1) + Per2 = (Perso2.affiche_nom(), Perso2.affiche_cat(), Perso2.nombre_pdv(), Perso2.affiche_xp(), Perso2.affiche_inventaireSQL()[0],Perso2.affiche_inventaireSQL()[1], Perso2.affiche_coefatk(), Perso2.affiche_coefdef(),) + c.execute("INSERT INTO Personnage VALUES (?, ?, ?, ?, ?, ?, ?, ?)", Per2) + c.execute("SELECT * FROM Personnage") + print(c.fetchall()) + conn.commit() + + roleAtk = Perso1 roleDef = Perso2 while Perso1.nombre_pdv() > 0 and Perso2.nombre_pdv() > 0: @@ -81,6 +116,16 @@ def combat(Perso1, Perso2): Perso1.affiche_caracteristiques() Perso2.affiche_caracteristiques() roleAtk, roleDef = roleDef, roleAtk + + Per1 = (Perso1.affiche_nom(), Perso1.affiche_cat(), Perso1.nombre_pdv(), Perso1.affiche_xp(), Perso1.affiche_inventaireSQL()[0],Perso1.affiche_inventaireSQL()[1], Perso1.affiche_coefatk(), Perso1.affiche_coefdef(),) + c.execute("INSERT INTO Personnage VALUES (?, ?, ?, ?, ?, ?, ?, ?)", Per1) + Per2 = (Perso2.affiche_nom(), Perso2.affiche_cat(), Perso2.nombre_pdv(), Perso2.affiche_xp(), Perso2.affiche_inventaireSQL()[0],Perso2.affiche_inventaireSQL()[1], Perso2.affiche_coefatk(), Perso2.affiche_coefdef(),) + c.execute("INSERT INTO Personnage VALUES (?, ?, ?, ?, ?, ?, ?, ?)", Per2) + c.execute("SELECT * FROM Personnage") + print(c.fetchall()) + conn.commit() + + if Perso1.nombre_pdv() > 0: print(Perso2.affiche_nom(), "a succombé, la victoire revient à ",Perso1.affiche_nom(), "qui remporte un point d'expérience !") Perso1.change_exp(1) @@ -91,31 +136,22 @@ def combat(Perso1, Perso2): print("Le jet d'attaque et le jet de défense fuent de force égale ce qui a provoqué par une raison inexpliquable, une onde de choc et a alarmé la Corée du Nord ! Pris de panique, Kim jong-un lance une bombe atomique sur votre position !", Perso1.affiche_nom(), "et", Perso2.affiche_nom(), "ont tous deux succombés ! Match nul mais allez jouer au Loto!") Perso1.regen_pdv() Perso2.regen_pdv() - -#def commencer(): -# print("Salut, bienvenue dans la simulation... faites votre 1er personnage") -# nom1class = input("Donne son nom") -# classe1 = input("Donne sa classe entre Géant ; Fée ; Démon ; Déesse") -# nom1 = Personnage(nom1class, classe1) -# print("Faites votre 2eme personnage") -# nom2class = input("Donne son nom") -# classe2 = input("Donne sa classe entre Géant ; Fée ; Démon ; Déesse") -# nom2 = Personnage(nom2class, classe2) -# combat(nom1, nom2) + conn.close() + + + -Squeezie = Personnage("Squeezie", "Déesee") -TiboInShape = Personnage("TiboInShape", "Fée") +Perso1 = Personnage("Squeezie", choice(["Déesee", "Fée", "Démon", "Géant"])) +Perso2 = Personnage("TiboInShape", choice(["Déesee", "Fée", "Démon", "Géant"])) # commande utile à copier : # - combat(Squeezie, TiboInShape) -conn = sqlite3.connect("Types.db") -c = conn.cursor() -c.execute('''CREATE TABLE if not exists types(nom TEXT, categorie TEXT, pdv FLOAT, xp FLOAT, inventaire TEXT)''') +