You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

134 lines
4.6 KiB

### la méthode afficher caractéristique ne fait pas grand chose, il faudrait peut être
### afficher les variables plutôt que du texte
### De même affiche inventaire est maladroite
### jeu() est une méthode de la classe personnage ?
### dans un else il n'y a pas de test, veut dire : dans tous les autres cas
### gestion du choix de la catégorie maladroit
### des modification sont à apporter dans la fonction jeu()
### note : 12/20 (classe : 10/12 prog : 2/8)
2 months ago
from random import randint
class Personnage :
2 months ago
def __init__(self, nom, cat) :
2 months ago
self.nom = nom
self.pdv = 20
self.exp = 1
self.cat = cat
2 months ago
if self.cat == "guerrier":
2 months ago
self.inventaire = ["épée","potion"]
2 months ago
if self.cat == "magicien":
2 months ago
self.inventaire = ["bâton","potion"]
2 months ago
if self.cat == "voleur":
2 months ago
self.inventaire = ["dague","potion"]
2 months ago
if self.cat == "elfe":
2 months ago
self.inventaire = ["arc","potion"]
2 months ago
def jet_attaque(self):
2 months ago
"""revoie le jet d'attaque"""
2 months ago
lance = randint(1, 20)
2 months ago
if self.cat == "guerrier":
return lance + self.exp * 10
if self.cat == "magicien":
return lance + self.exp * 10
if self.cat == "voleur":
return lance + self.exp * 3
if self.cat == "elfe":
return lance + self.exp * 8
2 months ago
2 months ago
def jet_defence(self):
"""revoie le jet de défence"""
2 months ago
lance = randint(1, 20)
2 months ago
if self.cat == "guerrier":
return lance + self.exp * 8
if self.cat == "magicien":
return lance + self.exp * 7
if self.cat == "voleur":
return lance + self.exp * 9
if self.cat == "elfe":
return lance + self.exp * 10
2 months ago
2 months ago
def change_pdv(self, nb_pdv):
"""on ajoute un entier positif ou négatif aux points de vie du perso"""
self.pdv = self.pdv + nb_pdv
2 months ago
2 months ago
def change_exp(self, nb_exp):
"""on ajoute un entier positif à l'experience du perso"""
self.exp = self.exp + nb_exp
2 months ago
2 months ago
def affiche_carracteristiques(self):
2 months ago
print("nom perso , catégorie perso, points de vie perso, expérience perso")
2 months ago
def affiche_inventaire(self):
2 months ago
if self.cat == "guerrier":
2 months ago
print("le personnage a : épée, potion ")
2 months ago
if self.cat == "magicien":
2 months ago
print("le personnage a : bâton, potion ")
2 months ago
if self.cat == "voleur":
2 months ago
print("le personnage a : dague, potion ")
2 months ago
if self.cat == "elfe":
2 months ago
print("le personnage a : arc, potion")
def jeu ():
2 months ago
joueur_1_nom = input("quel est le nom du joueur 1 ?")
joueur_1_cat = input("de quel categorie est le joueur 1 ? ; 1= guerrier 2= magicien 3= voleur 4= elfe")
if joueur_1_cat == "1":
joueur_1_cat = "guerrier"
if joueur_1_cat == "2":
joueur_1_cat = "magicien"
if joueur_1_cat == "3":
joueur_1_cat = "voleur"
if joueur_1_cat == "4":
joueur_1_cat = "elfe"
joueur_2_nom = input("quel est le nom du joueur 2 ?")
joueur_2_cat = input("de quel categorie est le joueur 2 ? ; 1= guerrier 2= magicien 3= voleur 4= elfe")
if joueur_2_cat == "1":
joueur_2_cat = "guerrier"
if joueur_2_cat == "2":
joueur_2_cat = "magicien"
if joueur_2_cat == "3":
joueur_2_cat = "voleur"
if joueur_2_cat == "4":
joueur_2_cat = "elfe"
2 months ago
joueur_1 = Personnage (joueur_1_nom,joueur_1_cat)
joueur_2 = Personnage (joueur_2_nom,joueur_2_cat)
while joueur_1.pdv > 0 and joueur_2.pdv > 0 :
2 months ago
j1A = joueur_1.jet_attaque()
j2B = joueur_2.jet_defence()
2 months ago
if j1A > j2B :
print()
2 months ago
joueur_1.affiche_caracteristique()
joueur_2.affiche_caracteristique()
2 months ago
else j1A < j2B :
print()
2 months ago
joueur_1.affiche_caracteristique()
joueur_2.affiche_caracteristique()
j2A = joueur_2.jet_attaque()
j1B = joueur_1.jet defence()
2 months ago
if j2A > j1B :
print()
2 months ago
joueur_1.affiche_caracteristique()
joueur_2.affiche_caracteristique()
2 months ago
else j2A < j1B :
print()
2 months ago
joueur_1.affiche_caracteristique()
joueur_2.affiche_caracteristique()
2 months ago
2 months ago
#perso1 = Personnage("toto", "guerrier")
#return affiche_inventaire
2 months ago
2 months ago
#perso2 = Personnage("bob", "elfe")