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. 21
      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.

21
base_de_donnee.py

@ -1,3 +1,4 @@
# coding=utf-8
import sqlite3
class BaseDeDonnee:
@ -11,7 +12,7 @@ class BaseDeDonnee:
self.con = sqlite3.connect("jdr_base.db")
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()
def __str__(self):
@ -27,25 +28,29 @@ class BaseDeDonnee:
"""ajoute un personnage dans la base de donnée
- caractéristiques : son nom, sa catégorie,
son nombre initial de point de vie et d'expérience"""
liste_nom = self.cur.execute("SELECT nom FROM "+self.nom).fetchall()
liste_nom = [elem[0] for elem in liste_nom]
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(NULL,?,?,?,?,?)",values)
self.cur.execute("INSERT INTO "+self.nom+" VALUES(?,?,?,?,?)",values)
self.con.commit()
def change_pdv_sql(self,nom, n):
"""incrémente de n le nombre de point de vie du perso
-- on suppose que les joueurs n'auront pas le même nom"""
"""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.con.commit()
def change_exp_sql(self,nom, n):
"""incrémente de n le nombre de point d'exp. du perso
-- on suppose que les joueurs n'auront pas le même nom"""
"""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.con.commit()
def affiche_inventaire(self,nom):
"""renvoie l'inventaire d'un perso
-- on suppose que les joueurs n'auront pas le même nom"""
"""renvoie l'inventaire d'un perso"""
inventaire_str = self.cur.execute("SELECT inventaire FROM "+self.nom+" WHERE nom=?",(nom,)).fetchone()[0]
inventaire_lst = inventaire_str.split(",")
return inventaire_lst

8
interface.py

@ -1,3 +1,4 @@
# coding=utf-8
from time import sleep
#======fonctions utiles======
@ -20,6 +21,13 @@ def message_avec_suite(msg):
input("\n\n[Entrée]")
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===========
def intro_longue():

BIN
jdr_base.db

Binary file not shown.

10
main.py

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

3
personnage.py

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

Loading…
Cancel
Save