-
-
Save GravenilvecTV/9ee31bc10ba662f6b04774cecdd7003f to your computer and use it in GitHub Desktop.
from model.player import Player | |
from model.weapon import Weapon | |
knife = Weapon("Couteau", 3) | |
player1 = Player("Graven", 20, 3) | |
# donne un couteau faisant 3 dégats au joueur ! | |
player1.set_weapon(knife) | |
player2 = Player("Bob", 20, 5) | |
player1.attack_player(player2) | |
print(player1.get_pseudo(), "attaque", player2.get_pseudo()) | |
print("Bienvenue au joueur", player1.get_pseudo(), "/ Points de vie:", player1.get_health(), "/ Attaque:", player1.get_attack_value()) | |
print("Bienvenue au joueur", player2.get_pseudo(), "/ Points de vie:", player2.get_health(), "/ Attaque:", player2.get_attack_value()) |
class Player: | |
def __init__(self, pseudo, health, attack): | |
self.pseudo = pseudo | |
self.health = health | |
self.attack = attack | |
self.weapon = None | |
print("Bienvenue au joueur", pseudo, "/Points de vie: ", health, "/ Attaque", attack) | |
def get_pseudo(self): | |
return self.pseudo | |
def get_health(self): | |
return self.health | |
def get_attack_value(self): | |
return self.attack | |
def damage(self, damage): | |
self.health -= damage | |
def attack_player(self, target_player): | |
damage = self.attack | |
# si le joueur a une arme | |
if self.has_weapon(): | |
# ajoute les dégats de l'arme au point d'attaque du joueur | |
damage += self.weapon.get_damage_amount() | |
target_player.damage(damage) | |
# méthode pour changer l'arme du joueur | |
def set_weapon(self, weapon): | |
self.weapon = weapon | |
# méthode pour verifier si le joueur a une arme | |
def has_weapon(self): | |
return self.weapon is not None |
class Weapon: | |
def __init__(self, name, damage): | |
self.name = name | |
self.damage = damage | |
def get_name(self): | |
return self.name | |
def get_damage_amount(self): | |
return self.damage |
Persos je sais déjà coder en python mais tes vidéos sont super et les TP j'en raffole pour l'idée moi g tout fait en un fichier car flemme de faire des modules. Ce fut du 10min ou 6 jsp donc c du bordel deso d'avance mais ca marche. Voici mon code:
class Weapon:
def init(self, name, damage):
self.name = name
self.damage = damage
print("La nouvelle arme", name, "a été créée avec succès et possède", damage, "points de dégâts")
def get_weapon_damage(self):
return self.damage
def get_weapon_name(self):
return self.name
class Player:
def init(self, pseudo, pv, pa):
self.pseudo = pseudo
self.pv = pv
self.pa = pa
self.weapon = None
print("Bienvenue au joueur", pseudo, "/ PV:", pv, "/ PA:", pa)
def set_weapon(self, weapon):
self.weapon = weapon
def get_weapon_attributes(self):
if self.weapon:
w_dmg = self.weapon.get_weapon_damage()
w_name = self.weapon.get_weapon_name()
return w_name, w_dmg
else:
return None, None
def get_pseudo(self):
return self.pseudo
def dammage(self, dammage):
self.pv -= dammage
def dmg_player(self, target):
if self.weapon != None:
w_dmg = self.weapon.get_weapon_damage()
dammage = self.pa + w_dmg
else:
dammage = self.pa
target.dammage(dammage)
def get_pv(self):
return self.pv
couteau = Weapon("couteau", 5)
baton = Weapon('baton', 3)
Player1 = Player("Marc", 10, 1)
Player2 = Player("Antonin", 10, 3)
Player1.set_weapon(baton)
Player2.set_weapon(couteau)
print(Player1.get_weapon_attributes())
Player1.dmg_player(Player2)
print(Player2.get_pv())
Moi g concaténée les deux atack (arme et initial) mais on peut simplement mettre l'arme même ci c plus logic de conter comme les dgt init comme la force du gars
Bonjour à tous, voici ma version :
Weapon.py
# Création de la classe d'arme
class Weapon:
def __init__(self, name, damage):
self.name = name
self.damage = damage
def get_name(self):
return self.name
def get_damage_amount(self):
return self.damage
Player.py
# Création de la classe du joueur
class Player :
def __init__(self, pseudo, health, attack):
self.pseudo = pseudo
self.health = health
self.attack = attack
self.weapon = None
print("Bienvenue au joueur {} / Vie : {} / Attaque : {}".format(pseudo, health, attack))
def get_pseudo(self):
return self.pseudo
def get_health(self):
return self.health
def get_attack(self):
return self.attack
def damage(self, damage):
self.health -= damage
print("Aie... vous venez de subir {} points de dégâts !".format(damage))
def attack_player(self, target_player):
damage = self.attack
# Si le joueur à une arme
if self.has_weapon():
# Ajout des points d'attaque de l'arme au joueur
damage += self.weapon.get_damage_amount()
target_player.damage(damage)
# Méthode pour changer l'amre du joueur
def set_weapon(self, weapon):
self.weapon = weapon
def get_weapon_name(self):
if self.weapon is not None:
return self.weapon.get_name()
else:
return "Aucune arme"
# Méthode pour vérifier si le joueur à une arme
def has_weapon(self):
return self.weapon is not None
Main.py
# Importations des librairies
from models.Player import Player
from models.Weapon import Weapon
# Création des armes
knife = Weapon("Couteau", 8)
pistol = Weapon("Pistolet", 10)
# Création des joueurs
player1 = Player("Pcommander", 20, 2)
player2 = Player("Tcommander", 20, 2)
# Attribution des armes aux joueurs
player1.set_weapon(knife)
player2.set_weapon(pistol)
# Attaque du P1 sur P2
player1.attack_player(player2)
print("{} attaque {}".format(player1.get_pseudo(),player2.get_pseudo()))
# Affichages des caractéristiques après attaque
print("Bienvenue au joueur {} / Vie : {} / Attaque : {} / Arme : {}".format(player1.get_pseudo(), player1.get_health(), player1.get_attack(), player1.get_weapon_name()))
print("Bienvenue au joueur {} / Vie : {} / Attaque : {} / Arme : {}".format(player2.get_pseudo(), player2.get_health(), player2.get_attack(), player2.get_weapon_name()))
Voilà mon code ^^ (sinon t'a mis apprendre le java dans le titre du git)
Main.py
Player.py
Weapon.py