Add methods and variables for running game
This commit is contained in:
parent
5f1cdcfc7f
commit
b20532ae4a
31
game.py
Normal file
31
game.py
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
from player import *
|
||||||
|
from spells import *
|
||||||
|
from wands import *
|
||||||
|
|
||||||
|
##
|
||||||
|
## Definitions
|
||||||
|
##
|
||||||
|
input_messages = (
|
||||||
|
"{name}, what's your spell? ",
|
||||||
|
"{name}, how will you obliviate your opponent? ",
|
||||||
|
"{name}, go for it! Enter a spell! ",
|
||||||
|
"{name}, hit me with your best spell: ",
|
||||||
|
"{name}, go time! ",
|
||||||
|
"{name}, it's your turn to enter a spell: "
|
||||||
|
)
|
||||||
|
def print_turn_message(player: Player):
|
||||||
|
return random.choice(input_messages).format(name=player.name)
|
||||||
|
|
||||||
|
current_round = 1
|
||||||
|
def round_end(player1: Player, player2: Player):
|
||||||
|
if (player1.stunned_rounds > 0): player1.stunned_rounds -= 1
|
||||||
|
if (player2.stunned_rounds > 0): player2.stunned_rounds -= 1
|
||||||
|
|
||||||
|
print("<!> Round {round} ended! Current stats:\n\
|
||||||
|
- {p1_name}: Health: {p1_hp} | Queued effects: {p1_effects} | Round being stunned: {p1_stunned}\n\
|
||||||
|
- {p2_name}: Health: {p2_hp} | Queued effects: {p2_effects} | Rounds being stunned: {p2_stunned}".format(
|
||||||
|
round=current_round,
|
||||||
|
p1_name=player1.name, p1_hp=player1.health, p1_effects=player1.get_queued_effects(), p1_stunned=player1.stunned_rounds,
|
||||||
|
p2_name=player2.name, p2_hp=player2.health, p2_effects=player2.get_queued_effects(), p2_stunned=player2.stunned_rounds
|
||||||
|
)
|
||||||
|
)
|
15
player.py
15
player.py
@ -30,6 +30,21 @@ class Player:
|
|||||||
def get_spell_succes_rate(self, spell: Spell):
|
def get_spell_succes_rate(self, spell: Spell):
|
||||||
return 1 * self.wand.succes_rate * spell.succes_rate
|
return 1 * self.wand.succes_rate * spell.succes_rate
|
||||||
|
|
||||||
|
def get_queued_effects(self):
|
||||||
|
output = ""
|
||||||
|
effect_slowed = "Slowed"
|
||||||
|
effect_blinded = "Blinded"
|
||||||
|
|
||||||
|
if (self.decreased_spell_speed):
|
||||||
|
output = effect_slowed
|
||||||
|
if (self.decreased_spell_damage):
|
||||||
|
if not output:
|
||||||
|
output = effect_blinded
|
||||||
|
else: output += ", " + effect_blinded
|
||||||
|
|
||||||
|
if not output: output = "None"
|
||||||
|
return output
|
||||||
|
|
||||||
def cast_spell_result(self, spell: Spell, succes: bool):
|
def cast_spell_result(self, spell: Spell, succes: bool):
|
||||||
if (succes):
|
if (succes):
|
||||||
message = "{name} casted '{spell}' with succes"
|
message = "{name} casted '{spell}' with succes"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user