Browse Source

sauvegarde

master
corentin.bollet 12 months ago
parent
commit
eef30c83ac
  1. BIN
      __pycache__/base_de_donnee.cpython-38.pyc
  2. BIN
      __pycache__/interface.cpython-38.pyc
  3. BIN
      __pycache__/personnage.cpython-38.pyc
  4. 25
      base_de_donnee.py
  5. 8
      interface.py
  6. BIN
      jdr_base.db
  7. 10
      main.py
  8. 3
      personnage.py

BIN
__pycache__/base_de_donnee.cpython-38.pyc

Binary file not shown.

BIN
__pycache__/interface.cpython-38.pyc

Binary file not shown.

BIN
__pycache__/personnage.cpython-38.pyc

Binary file not shown.

25
base_de_donnee.py

@ -1,3 +1,4 @@
# coding=utf-8
import sqlite3 import sqlite3
class BaseDeDonnee: class BaseDeDonnee:
@ -11,7 +12,7 @@ class BaseDeDonnee:
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 INTEGER PRIMARY KEY,nom VARCHAR(40),categorie VARCHAR(40),pdv INTEGER,exp INTEGER,inventaire VARCHAR(20))") self.cur.execute("CREATE TABLE IF NOT EXISTS "+self.nom+" (nom VARCHAR(40) PRIMARY KEY,categorie VARCHAR(40),pdv INTEGER,exp INTEGER,inventaire VARCHAR(20))")
self.con.commit() self.con.commit()
def __str__(self): def __str__(self):
@ -27,25 +28,29 @@ class BaseDeDonnee:
"""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"""
values = (nom,categorie,pdv,exp,inventaire) liste_nom = self.cur.execute("SELECT nom FROM "+self.nom).fetchall()
self.cur.execute("INSERT INTO "+self.nom+" VALUES(NULL,?,?,?,?,?)",values) liste_nom = [elem[0] for elem in liste_nom]
self.con.commit() if nom in liste_nom:
raise NameError
if nom > 40:
raise ValueError
else:
values = (nom,categorie,pdv,exp,inventaire)
self.cur.execute("INSERT INTO "+self.nom+" VALUES(?,?,?,?,?)",values)
self.con.commit()
def change_pdv_sql(self,nom, n): def change_pdv_sql(self,nom, 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"""
-- 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.cur.execute("UPDATE "+self.nom+" SET pdv=pdv+? WHERE nom=?",(n,nom))
self.con.commit() self.con.commit()
def change_exp_sql(self,nom, n): def change_exp_sql(self,nom, 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"""
-- 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.cur.execute("UPDATE "+self.nom+" SET exp=exp+? WHERE nom=?",(n,nom))
self.con.commit() self.con.commit()
def affiche_inventaire(self,nom): def affiche_inventaire(self,nom):
"""renvoie l'inventaire d'un perso """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_str = self.cur.execute("SELECT inventaire FROM "+self.nom+" WHERE nom=?",(nom,)).fetchone()[0]
inventaire_lst = inventaire_str.split(",") inventaire_lst = inventaire_str.split(",")
return inventaire_lst return inventaire_lst

8
interface.py

@ -1,3 +1,4 @@
# coding=utf-8
from time import sleep from time import sleep
#======fonctions utiles====== #======fonctions utiles======
@ -20,6 +21,13 @@ def message_avec_suite(msg):
input("\n\n[Entrée]") input("\n\n[Entrée]")
cls() cls()
def affiche_pdv(joueur1, joueur2):
"""affiche les vies des joueurs"""
pdv_joueur1 = joueur1.pdv*"\033[31m♥\033[0m "+(20-max(0,joueur1.pdv))*"\033[37m♥\033[0m "
pdv_joueur2 = joueur2.pdv*"\033[31m♥\033[0m "+(20-max(0,joueur2.pdv))*"\033[37m♥\033[0m "
print(pdv_joueur1 + " "*10 + pdv_joueur2)
print("{:<45}{:>45}".format(joueur1.nom, joueur2.nom))
#===========Intros=========== #===========Intros===========
def intro_longue(): def intro_longue():

BIN
jdr_base.db

Binary file not shown.

10
main.py

@ -36,6 +36,12 @@ def combat(perso1, perso2):
else: else:
color = 39 color = 39
print("(\033["+str(color)+"m"+str(diff)+"\033[0m points)\n") print("(\033["+str(color)+"m"+str(diff)+"\033[0m points)\n")
###test affichage pdv
affiche_pdv(perso1,perso2)
###fin test
input("[Entrée]") input("[Entrée]")
attaquant, defenseur = defenseur , attaquant attaquant, defenseur = defenseur , attaquant
@ -54,8 +60,8 @@ def main():
(nomJoueur1, catJoueur1) = intro_courte() (nomJoueur1, catJoueur1) = intro_courte()
# 2v ne fonctionnent plus -- ajouter nom base # 2v ne fonctionnent plus -- ajouter nom base
joueur1 = Personnage(nomJoueur1, catJoueur1) joueur1 = Personnage("base",nomJoueur1, catJoueur1)
joueur2 = Personnage("ennemi", choice(["guerrier","magicien","voleur","elfe"])) joueur2 = Personnage("base","ennemi très méchant", choice(["guerrier","magicien","voleur","elfe"]))
#le combat ! #le combat !
combat(joueur1, joueur2) combat(joueur1, joueur2)

3
personnage.py

@ -1,3 +1,4 @@
# coding=utf-8
from random import randint from random import randint
from base_de_donnee import * from base_de_donnee import *
@ -5,7 +6,7 @@ class Personnage:
def __init__(self, nom_base, nom, cat): def __init__(self, nom_base, nom, cat):
"""initialise le personnage""" """initialise le personnage"""
### à compléter !!! ### à compléter !!!
nom_base.ajout_personnage(nom,cat,20,1, inventaire): #nom_base.ajout_personnage(nom,cat,20,1, inventaire)
self.nom = nom self.nom = nom
self.pdv = 20 self.pdv = 20

Loading…
Cancel
Save