Ку, примерно 2 дня назад начал изучать пайтон и вот сегодня решил что-то сделать, в итоге вышла мини игра, суть игры в том чтобы выбрать оружие и в зависимости от оружия будет разный урон ( урон выбираеться рандомно, суть в оружии таков что диапозон возможного урона разный) в целом вышло норм, но вопрос иногда бывают случаи что тебя убивают но и ты уже снес все хп врагу, вопрос можно это каким либо способом исправить? И оцените насколько качественно сделана работа( как для новичка ), можете даже запустить вот код import random hp = [100] hp1 = [100] weapon = ["bow", "sword", "ax"] print("Добро пожаловать на \"Арену\"") print("Пожалуйста выберите оружие \n Для того чтобы выбрать оружие напишите цифру рядом с ним") print("Меч может нанести урон от 10-35hp , Лук от 0 - 40 , Топор от 15 - 40") weapon1 = input("Меч 1;Лук 2; Топор 3;\n ") if weapon1 == "1" : attack = input("Для того чтобы ударить противника напишите +\n") weapons = random.choice(weapon) while attack == "+": damage01 = (random.randint(10,35)) print("Вы отняли у противника: ", damage01) hp[0] = hp[0] - damage01 print ("У противника осталось " + str(hp) + " hp" + "\n.\n.\n." ) if hp[0] <= 0: print("Вы выиграли!" ) print("У вас осталось" + str(hp1[0]) + " hp" ) exit() print("Защищайся!") if weapons == "bow": print("У противника лук") damage01 = random.randint( 0, 40 ) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "sword": print("У противника меч") damage01 = random.randint(10,35) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "ax": print("У противника Топор") damage01 = random.randint(15,40) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapon1 == "2" : print("Вы выбрали Лук") attack = input("Для того чтобы ударить противника напишите +\n") weapons = random.choice(weapon) while attack == "+": damage01 = (random.randint(0,40)) print("Вы отняли у противника: ", damage01) hp[0] = hp[0] - damage01 print ("У противника осталось " + str(hp) + " hp" + "\n.\n.\n." ) if hp[0] <= 0: print("Вы выиграли!" ) print("У вас осталось" + str(hp1[0]) + " hp" ) exit() print("Защищайся!") if weapons == "bow": print("У противника лук") damage01 = random.randint( 0, 40 ) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "sword": print("У противника меч") damage01 = random.randint(10,35) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "ax": print("У противника Топор") damage01 = random.randint(15,40) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapon1 == "3" : print("Вы выбрали ТОПОР") attack = input("Для того чтобы ударить противника напишите +\n") weapons = random.choice(weapon) while attack == "+": damage01 = (random.randint(15,40)) print("Вы отняли у противника: ", damage01) hp[0] = hp[0] - damage01 print ("У противника осталось " + str(hp) + " hp" + "\n.\n.\n." ) if hp[0] <= 0: print("Вы выиграли!" ) print("У вас осталось" + str(hp1[0]) + " hp" ) exit() print("Защищайся!") if weapons == "bow": print("У противника лук") damage01 = random.randint( 0, 40 ) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "sword": print("У противника меч") damage01 = random.randint(10,35) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "ax": print("У противника Топор") damage01 = random.randint(15,40) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") Code import random hp = [100] hp1 = [100] weapon = ["bow", "sword", "ax"] print("Добро пожаловать на \"Арену\"") print("Пожалуйста выберите оружие \n Для того чтобы выбрать оружие напишите цифру рядом с ним") print("Меч может нанести урон от 10-35hp , Лук от 0 - 40 , Топор от 15 - 40") weapon1 = input("Меч 1;Лук 2; Топор 3;\n ") if weapon1 == "1" : attack = input("Для того чтобы ударить противника напишите +\n") weapons = random.choice(weapon) while attack == "+": damage01 = (random.randint(10,35)) print("Вы отняли у противника: ", damage01) hp[0] = hp[0] - damage01 print ("У противника осталось " + str(hp) + " hp" + "\n.\n.\n." ) if hp[0] <= 0: print("Вы выиграли!" ) print("У вас осталось" + str(hp1[0]) + " hp" ) exit() print("Защищайся!") if weapons == "bow": print("У противника лук") damage01 = random.randint( 0, 40 ) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "sword": print("У противника меч") damage01 = random.randint(10,35) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "ax": print("У противника Топор") damage01 = random.randint(15,40) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapon1 == "2" : print("Вы выбрали Лук") attack = input("Для того чтобы ударить противника напишите +\n") weapons = random.choice(weapon) while attack == "+": damage01 = (random.randint(0,40)) print("Вы отняли у противника: ", damage01) hp[0] = hp[0] - damage01 print ("У противника осталось " + str(hp) + " hp" + "\n.\n.\n." ) if hp[0] <= 0: print("Вы выиграли!" ) print("У вас осталось" + str(hp1[0]) + " hp" ) exit() print("Защищайся!") if weapons == "bow": print("У противника лук") damage01 = random.randint( 0, 40 ) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "sword": print("У противника меч") damage01 = random.randint(10,35) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "ax": print("У противника Топор") damage01 = random.randint(15,40) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapon1 == "3" : print("Вы выбрали ТОПОР") attack = input("Для того чтобы ударить противника напишите +\n") weapons = random.choice(weapon) while attack == "+": damage01 = (random.randint(15,40)) print("Вы отняли у противника: ", damage01) hp[0] = hp[0] - damage01 print ("У противника осталось " + str(hp) + " hp" + "\n.\n.\n." ) if hp[0] <= 0: print("Вы выиграли!" ) print("У вас осталось" + str(hp1[0]) + " hp" ) exit() print("Защищайся!") if weapons == "bow": print("У противника лук") damage01 = random.randint( 0, 40 ) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "sword": print("У противника меч") damage01 = random.randint(10,35) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +") if weapons == "ax": print("У противника Топор") damage01 = random.randint(15,40) print("У вас отнял противник : ", damage01) hp1[0] = hp1[0] - damage01 print ("У вас осталось" + str(hp1) + " hp" + "\n.\n.\n.") if hp1[0] <= 0: print("Вы проиграли!") print("У противника осталось" + str(hp1[0]) + " hp" ) exit() attack = input("Для того чтобы ударить противника напишите +")
Тебе первым делом надо было изучить хотяб функциональный подход, а так код ужасен, даже для новичка. Тебе нужно декомпозировать свой код, как говорится разделяй и влавствуй
пробежался чуть, код ужасный, серьезно) советую тебе глянуть что такое игровой цикл и функции. продолжай в том же духе!