Browse Source

quelques modifs subjectif

master
alexi.forestier 12 months ago
parent
commit
f6e29b4a69
  1. 70
      jdr.py

70
jdr.py

@ -1,4 +1,4 @@
from random import* from random import *
import sqlite3 import sqlite3
class Personnage: class Personnage:
def __init__(self, nom, cat): def __init__(self, nom, cat):
@ -34,6 +34,14 @@ class Personnage:
defPoints = randint(1, 20) defPoints = randint(1, 20)
return defPoints + self.exp*self.coefDef*0.1 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): def change_pdv(self, nb_pdv):
"""modifie le nombre de points de vie""" """modifie le nombre de points de vie"""
self.pdv = self.pdv + nb_pdv self.pdv = self.pdv + nb_pdv
@ -53,6 +61,14 @@ class Personnage:
def affiche_nom(self): def affiche_nom(self):
"""renvoie le nom du personnage""" """renvoie le nom du personnage"""
return self.nom 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): def affiche_caracteristiques(self):
"""affiche les caractéristiques du personnage (nom, catégorie, pdv, pts d'exp)""" """affiche les caractéristiques du personnage (nom, catégorie, pdv, pts d'exp)"""
@ -65,9 +81,28 @@ class Personnage:
def affiche_inventaire(self): def affiche_inventaire(self):
"""affiche le contenu de l'inventaire du personnage""" """affiche le contenu de l'inventaire du personnage"""
print("Contenu de l'inventaire de", self.nom, ":",self.inventaire) 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): 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""" """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 roleAtk = Perso1
roleDef = Perso2 roleDef = Perso2
while Perso1.nombre_pdv() > 0 and Perso2.nombre_pdv() > 0: while Perso1.nombre_pdv() > 0 and Perso2.nombre_pdv() > 0:
@ -81,6 +116,16 @@ def combat(Perso1, Perso2):
Perso1.affiche_caracteristiques() Perso1.affiche_caracteristiques()
Perso2.affiche_caracteristiques() Perso2.affiche_caracteristiques()
roleAtk, roleDef = roleDef, roleAtk 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: if Perso1.nombre_pdv() > 0:
print(Perso2.affiche_nom(), "a succombé, la victoire revient à ",Perso1.affiche_nom(), "qui remporte un point d'expérience !") print(Perso2.affiche_nom(), "a succombé, la victoire revient à ",Perso1.affiche_nom(), "qui remporte un point d'expérience !")
Perso1.change_exp(1) 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!") 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() Perso1.regen_pdv()
Perso2.regen_pdv() Perso2.regen_pdv()
conn.close()
#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)
Squeezie = Personnage("Squeezie", "Déesee") Perso1 = Personnage("Squeezie", choice(["Déesee", "Fée", "Démon", "Géant"]))
TiboInShape = Personnage("TiboInShape", "Fée") Perso2 = Personnage("TiboInShape", choice(["Déesee", "Fée", "Démon", "Géant"]))
# commande utile à copier : # commande utile à copier :
# - combat(Squeezie, TiboInShape) # - 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)''')

Loading…
Cancel
Save