Как вывести информацию о текущем противнике и о своём персонаже?
у меня в игре есть такое меню: введите nickname персонажа:куку Выбери действие: 1 - В бой! 2 - Тренировка 3 - Информация об игроке 4 - Информация о текущем противнике Под числом 3 должна быть информация о персонаже за которого играют, под числом 4 информация о текущем противнике. вот все коды: файл:data.py код:
player={
'name':'',
'armor':0.95,
'hp': 10,
'attack': 2,
'money': 10000,
'inventory': [],
'luck':10,
}
enemies = [{'name': 'Stich',
'hp': 105,
'attack': 5,
'script': '-Чел ты кто? -Я пришёл к своему брату Kadi! -А... ты тот лузер у которого украли секретные документы? -Да! Пусти меня к нему! -Сначало победи меня!',
'win': '-Что? как? Ты победил меня! Но до Kadi тебе ещё далеко!',
'loss': '-Ну ты и лузер, реально думал меня победить. Проваливай!'
},
{'name': 'MirGrez',
'hp': 175,
'attack': 10,
'script': '-Чувак ты победил Stich чтобы добраться до Kadi! -Да, я сражусь со всеми чтобы добраться до Kadi! -Лучше уходи, а то я тебя в живых не оставлю!',
'win': '-Да уж, ты силён! Даю тебе совет- лучше уходи пока тебя не убил самый сильный наш враг DRAGO!',
'loss': '-Ха-Ха, иди тренируйся! Слабак!'
},
{'name': 'DRAGO',
'hp': 10,
'attack': 10,
'script': '-Эй! это ты DRAGO? -Да, кто ты такой и как ты сюда попал? -Я победил Stich и MirGrez чтобы попасть к Kadi! -Они ещё те слабаки, так что уходи! у тебя нет шансов одолеть меня!!!',
'win': '-Говори, где Kadi? -Он там в соседней комнате...',
'loss': '-Я же говорил - тебе меня не одолеть. Уходи и не возвращайся!'
}]
файл:helpers.py код:
from random import randint
from time import sleep
from data import*
def fight(current_enemy):
round=randint(1, 2)
enemy=enemies[current_enemy]
enemy_hp=enemies[current_enemy]['hp']
print('Враг', enemy['name'])
print(enemy['script'])
input('нажмите на Enter чтобы продолжить')
while player['hp'] > 0 and enemy_hp > 0:
if round % 2 == 1:
print(f'{player["name"]} атакует {enemy["name"]}.')
enemy_hp -= player['attack']
sleep(1)
print(f'''{player['name']} - {player['hp']}
{enemy['name']} - {enemy_hp}''')
print()
sleep(1)
else:
print(f'{enemy["name"]} атакует {player["name"]}.')
player['hp'] -= enemy['attack']
sleep(1)
print(f'''{player['name']} - {player['hp']}
{enemy['name']} - {enemy_hp}''')
print()
sleep(1)
round += 1
if player['hp'] > 0:
print(f'Противник - {enemy["name"]}: {enemy["win"]}')
current_enemy += 1
else:
print(f'Противник - {enemy["name"]}: {enemy["loss"]}')
player['hp'] = 100
return current_enemy
def training(training_type):
for i in range(0, 101, 20):
print(f'Тренировка завершена на {i}%')
sleep(1.5)
if training_type == '1':
player['attack'] += 2
print(f'Тренировка окончена! Теперь ваша величина атаки равна {player["attack"]}')
elif training_type == '2':
player['armor'] -= .09
print(f'Тренировка окончена! Теперь броня поглощает {100 - player["armor"] * 100}% урона')
print()
файл:step.py код:
from random import randint
from time import sleep
from data import*
from helpers import*
name=input('введите nickname персонажа:')
player['name']=name
current_enemy=0
while True:
action = input('''Выбери действие:
1 - В бой!
2 - Тренировка
3 - Информаиция об игроке
4 - Информация о текущем противнике
''')
if action == '1':
current_enemy = fight(current_enemy)
if current_enemy == 3:
break
elif action == '2':
training_type = input('''1 - тренировать атаку
2 - тренировать оборону
''')
training(training_type)
Ответы (1 шт):
Автор решения: sLoNcE
→ Ссылка
Можно в step.py дописать нужные строки. show_info(player) для вывода информации о персонаже и функцию show_enemy_info(enemy) для вывода информации о текущем противнике. В этих функциях вы можете использовать информацию из словарей player и enemies соответственно.
step.py
from random import randint
from time import sleep
from data import*
from helpers import*
def show_info(player):
print(f"Имя: {player['name']}")
print(f"Броня: {player['armor']}")
print(f"Здоровье: {player['hp']}")
print(f"Атака: {player['attack']}")
print(f"Деньги: {player['money']}")
print(f"Инвентарь: {player['inventory']}")
print(f"Удача: {player['luck']}")
def show_enemy_info(enemy):
print(f"Имя: {enemy['name']}")
print(f"Здоровье: {enemy['hp']}")
print(f"Атака: {enemy['attack']}")
name=input('введите nickname персонажа:')
player['name']=name
current_enemy=0
while True:
action = input('''Выбери действие:
1 - В бой!
2 - Тренировка
3 - Информация об игроке
4 - Информация о текущем противнике
''')
if action == '1':
current_enemy = fight(current_enemy)
if current_enemy == 3:
break
elif action == '2':
training_type = input('''1 - тренировать атаку
2 - тренировать оборону
''')
training(training_type)
elif action == '3':
show_info(player)
elif action == '4':
show_enemy_info(enemies[current_enemy])