Загрузка...

Мини игра на пайтон

Тема в разделе Python создана пользователем Miner3000 29 фев 2020. 310 просмотров

  1. Miner3000
    Miner3000 Автор темы 29 фев 2020 71 5 мар 2018
    Ку, примерно 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("Для того чтобы ударить противника напишите +")
     
  2. sesu
    sesu 29 фев 2020 Ты не умеешь писать код 114 17 ноя 2019
    Тебе первым делом надо было изучить хотяб функциональный подход, а так код ужасен, даже для новичка. Тебе нужно декомпозировать свой код, как говорится разделяй и влавствуй
     
  3. oriole
    oriole 29 фев 2020 был(а) давно
    У тебя elif отсутствуют поэтому у тебя все условия проверяются
     
  4. 893
    Ритик
    Читая твой статус, я даже ничего не буду говорить
     
  5. sesu
    sesu 29 фев 2020 Ты не умеешь писать код 114 17 ноя 2019
    Ну никто хороший код без рефакторинга не пишет, а я вроде написал что нужно чтобы стало лучше
     
  6. MORTY
    MORTY 29 фев 2020 i ball was rawt 11 591 13 окт 2018
    ахуенная игра, уже 2 недели играю
     
  7. 893
    Ритик
    - Играю 2 недели
    - Дата выпуска: 29 февраля
    - Сегодня : 29 февраля
     
  8. MORTY
    MORTY 29 фев 2020 i ball was rawt 11 591 13 окт 2018
    не, ну ты умник конечно.
     
  9. sesu
    sesu 29 фев 2020 Ты не умеешь писать код 114 17 ноя 2019
    Выпал с гения
     
  10. Miner3000
    Miner3000 Автор темы 29 фев 2020 71 5 мар 2018
    Боже, ты наверное единственный нормальный человек на этом форуме
     
  11. Liqvid_inactive2997396
    Liqvid_inactive2997396 29 фев 2020 Заблокирован(а) 2 16 фев 2020
    програмист?
     
  12. de9x
    de9x 1 мар 2020 Frontend developer 141 3 янв 2019
    пробежался чуть, код ужасный, серьезно)

    советую тебе глянуть что такое игровой цикл и функции.

    продолжай в том же духе!
     
Загрузка...
Top