|
|
@ -1,6 +1,5 @@ |
|
|
|
from random import randint |
|
|
|
import sqlite3 |
|
|
|
import time |
|
|
|
|
|
|
|
#Création de la table Personnage |
|
|
|
conn = sqlite3.connect('JeuDeRole.db') |
|
|
@ -15,36 +14,54 @@ class Personnage: |
|
|
|
self.exp = 1 |
|
|
|
self.cat = cat |
|
|
|
if self.cat == "guerrier": |
|
|
|
self.inv = ["épée", "potion"] |
|
|
|
self.inv = "épée" |
|
|
|
elif self.cat == "magicien": |
|
|
|
self.inv = ["bâton", "potion"] |
|
|
|
self.inv = "bâton" |
|
|
|
elif self.cat == "voleur": |
|
|
|
self.inv = ["dague", "potion"] |
|
|
|
self.inv = "dague" |
|
|
|
elif self.cat == "elfe": |
|
|
|
self.inv = ["arc", "potion"] |
|
|
|
self.inv = "arc" |
|
|
|
elif self.cat == "orc": |
|
|
|
self.inv = "masse" |
|
|
|
elif self.cat == "invocateur": |
|
|
|
self.inv = "livre d'invocation" |
|
|
|
elif self.cat == "loup-garou": |
|
|
|
self.inv = "griffes" |
|
|
|
|
|
|
|
def jet_attaque(self): |
|
|
|
attaque = randint(1,20) |
|
|
|
if self.cat == "guerrier": |
|
|
|
attaque = attaque + self.exp*10 |
|
|
|
attaque = attaque + self.exp*7 |
|
|
|
elif self.cat == "mage": |
|
|
|
attaque = attaque + self.exp*10 |
|
|
|
attaque = attaque + self.exp*7 |
|
|
|
elif self.cat == "voleur": |
|
|
|
attaque = attaque + self.exp*3 |
|
|
|
elif self.cat == "elfe": |
|
|
|
attaque = attaque + self.exp*5 |
|
|
|
elif self.cat == "orc": |
|
|
|
attaque = attaque + self.exp*9 |
|
|
|
elif self.cat == "invocateur": |
|
|
|
attaque = attaque + self.exp*6 |
|
|
|
elif self.cat == "loup-garou": |
|
|
|
attaque = attaque + self.exp*8 |
|
|
|
return attaque |
|
|
|
|
|
|
|
def jet_defense(self): |
|
|
|
defense = randint(1,20) |
|
|
|
if self.cat == "guerrier": |
|
|
|
defense = defense + self.exp*10 |
|
|
|
defense = defense + self.exp*6 |
|
|
|
elif self.cat == "mage": |
|
|
|
defense = defense + self.exp*10 |
|
|
|
defense = defense + self.exp*8 |
|
|
|
elif self.cat == "voleur": |
|
|
|
defense = defense + self.exp*3 |
|
|
|
defense = defense + self.exp*4 |
|
|
|
elif self.cat == "elfe": |
|
|
|
defense = defense + self.exp*8 |
|
|
|
defense = defense + self.exp*5 |
|
|
|
elif self.cat == "orc": |
|
|
|
defense = defense + self.exp*6 |
|
|
|
elif self.cat == "invocateur": |
|
|
|
defense = defense + self.exp*5 |
|
|
|
elif self.cat == "loup-garou": |
|
|
|
defense = defense + self.exp*6 |
|
|
|
return defense |
|
|
|
|
|
|
|
def change_pdv(self, nb_pdv): |
|
|
@ -69,33 +86,22 @@ class Personnage: |
|
|
|
|
|
|
|
nomP1 = input("Joueur 1, quel est votre nom ?: ") |
|
|
|
nomP2 = input("Joueur 2, quel est votre nom ?: ") |
|
|
|
catP1 = input("Joueur 1, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") |
|
|
|
while not catP1 in ["guerrier", "mage", "voleur","elfe"]: |
|
|
|
catP1 = input("Joueur 1, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") |
|
|
|
catP2 = input("Joueur 2, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") |
|
|
|
while not catP2 in ["guerrier", "mage", "voleur","elfe"]: |
|
|
|
catP2 = input("Joueur 2, choisissez votre catégorie entre guerrier, mage, voleur et elfe: ") |
|
|
|
catP1 = input("Joueur 1, choisissez votre catégorie entre guerrier, mage, voleur, elfe, orc, invocateur et loup-garou: ") |
|
|
|
while not catP1 in ["guerrier", "mage", "voleur","elfe", "orc","invocateur", "loup-garou"]: |
|
|
|
catP1 = input("Joueur 1, choisissez votre catégorie entre guerrier, mage, voleur, elfe, orc, invocateur et loup-garou: ") |
|
|
|
catP2 = input("Joueur 2, choisissez votre catégorie entre guerrier, mage, voleur, elfe, orc, invocateur et loup-garou :") |
|
|
|
while not catP2 in ["guerrier", "mage", "voleur","elfe", "orc", "invocateur", "loup-garou"]: |
|
|
|
catP2 = input("Joueur 2, choisissez votre catégorie entre guerrier, mage, voleur, elfe, orc, invocateur et loup-garou: ") |
|
|
|
P1 = Personnage(nomP1, catP1) |
|
|
|
P2 = Personnage(nomP2, catP2) |
|
|
|
|
|
|
|
|
|
|
|
J1_1 = (20, 1, catP1, nomP1) |
|
|
|
J2_1 = (20, 1, catP2, nomP2) |
|
|
|
J1_2 = (nomP1, 20, 1, catP1) |
|
|
|
J2_2 = (nomP2, 20, 1, catP2) |
|
|
|
liste = c.execute("SELECT nom FROM Perso") |
|
|
|
conn.commit() |
|
|
|
if (nomP1,) in liste : |
|
|
|
c.execute("UPDATE Perso SET pdv = (?), exp = (?), categorie = (?) WHERE nom = (?)", J1_1) |
|
|
|
else: |
|
|
|
c.execute("INSERT INTO Perso VALUES (?, ?, ?, ?)", J1_2) |
|
|
|
conn.commit() |
|
|
|
if (nomP2,) in liste: |
|
|
|
c.execute("UPDATE Perso SET pdv = (?), exp = (?), categorie = (?) WHERE nom = (?)", J2_1) |
|
|
|
else: |
|
|
|
c.execute("INSERT or REPLACE INTO Perso VALUES (?, ?, ?, ?)", J2_2) |
|
|
|
|
|
|
|
J1 = (nomP1, 20, 1, catP1) |
|
|
|
J2 = (nomP2, 20, 1, catP2) |
|
|
|
c.execute("INSERT or REPLACE INTO Perso VALUES (?, ?, ?, ?)", J1) |
|
|
|
c.execute("INSERT or REPLACE INTO Perso VALUES (?, ?, ?, ?)", J2) |
|
|
|
conn.commit() |
|
|
|
#https://stackoverflow.com/questions/35415469/sqlite3-unique-constraint-failed-error |
|
|
|
|
|
|
|
print("-----------------------------") |
|
|
|
while P1.pdv > 0 and P2.pdv > 0: |
|
|
|