Суть игры в том что играют два игрока-ковбоя и по очереди стреляют друг в друга. Я хочу сделать так что бы они стреляли друг в друга пока не кончится хп одного из игроков, но не знаю как все это сделать т.к. я только изучаю питон. Подскажите пожалуйста! Код будет ниже:
import random
shot_or_not = random.randint(0,2)
First_name = input("Введите свое имя: "
Second_name = input("Введите свое имя: "
HP_1 = 100
HP_2 = 100
whos_step = 1
if HP_1 == 0:
print(f"Выиграл {Second_name}!!!"
if HP_2 == 0:
print(f"Выиграл {First_name}!!!"
while HP_1 == 0 or HP_2 == 0:
if whos_step == 1:
shoot1 = input(f"Если {First_name} хочет выстрелить, то он должен вписать 'shoot': "
whos_step = 2
else:
print(f"Вы написали что то непонятное данной игре. Ход переходит игроку {Second_name}"
first_player = input("Введите имя первого игрока: "
second_player = input("Введите имя второго игрока: "
hp1 = 100
hp2 = 100
current_player = 1 # 1 - первый игрок, 2 - второй
while hp1 > 0 and hp2 > 0:
# Определяем, чей сейчас ход
if current_player == 1:
name = first_player
opponent = second_player
opponent_hp = hp2
else:
name = second_player
opponent = first_player
opponent_hp = hp1
# Игрок должен ввести 'shoot' для выстрела
while True:
action = input(f"{name}, введите 'shoot' для выстрела: ".lower()
if action == "shoot":
break
print("Некорректный ввод. Попробуйте ещё раз!"
# Проверяем, попал ли игрок
shot = random.randint(0, 2)
if shot != 0: # 0 - промах, 1 и 2 - попадание
damage = random.randint(10, 30)
if current_player == 1:
hp2 = max(0, hp2 - damage)
print(f"{name} попал! {opponent} теряет {damage} HP. Осталось {hp2} HP."
else:
hp1 = max(0, hp1 - damage)
print(f"{name} попал! {opponent} теряет {damage} HP. Осталось {hp1} HP."
else:
print(f"{name} промахнулся!"
# Проверка на победу
if hp1 <= 0:
print(f"{second_player} победил!"
break
elif hp2 <= 0:
print(f"{first_player} победил!"
break
# Переход хода к другому игроку
current_player = 2 if current_player == 1 else 1