2016-11-26 7 views
-1

Я новичок в программировании и делает простую игру выбор:Простая игра выбора Python IDLE 3.4 Как действовать с разными вариантами?

Answer = (input("You meet a bear, what do you do? A) Give the bear a hug B) Run away")) 
if Answer == ("A)"): 
     print("The bear chopped your hand off!") 
else: 
     print("Good choice, but the bear is running after you") 

Но как я могу идти дальше? Например, добавьте опцию после того, как она поработала с рубиной или пробежала по лесу (2 варианта по крайней мере для обоих предыдущих результатов)

+1

Вы можете но если/другое внутри, если/еще столько раз, сколько вы хотите. Просто добавьте еще один уровень отступов. –

+0

Похоже, вы ищете поиск архитектуры дерева решений для своей игры. Есть много отличных ресурсов, обсуждающих, как это реализовать. Википедия будет хорошим началом. https://en.wikipedia.org/wiki/Decision_tree – rfj001

ответ

0

Вот начало вы можете, мы надеемся выяснить, как расширить :)

def main(): 
    print("Tristan Aljamaa's Simple Python Choice Game") 
    print("===========================================") 
    print("Instructions: Type A) or B) etc. whenever prompted\n") 
    game() 

def game(): 
    Answer = (input("You meet a bear, what do you do?\n A) Give the bear a hug\n B) Run away \nEnter A) or B):")) 

    if Answer == ("A)"): 
    print("The bear chopped your hand off!") 
    player_died() 
    else: 
    print("Good choice, but the bear is running after you") 
    player_ran() 

def player_died(): 
    print("You died, the bear eventually ate you...") 
    Answer = (input("Game Over!\n\nEnter N) for New Game:")) 
    if Answer == ("N)"): 
    main() 
    else: 
    print("Good Bye!") 

def player_ran(): 
    Answer = (input("You find an exit from the forest, what do you do\n A) Exit forest\n B) Run around in forest \nEnter A) or B):")) 
    if Answer == ("A)"): 
    print("You exited the forest") 
    player_crossedRoad() 
    else: 
    print("You (although insanly) chose to run around in the forest") 
    player_stillRunsinForest() 

def player_crossedRoad(): 
    print("You get the idea...") 

main() #for testing on this online editor use the below line when calling the .py file on your computer 
if __name__ == "__main__":main() 

Попробуйте игру из here

+0

теперь «else» после «player_crossedRoad» является некорректным синтаксисом? Вот что я сделал: def player_ran(): Ответ = (ввод («Вы находите выход из леса, что вы делаете \ n A) Выход из леса \ n B) Запуск в лесу \ nВведите A) или B) : ")) если ответ == (" A) "): печать (" Вы вышли из леса ") player_crossedRoad() еще: печать (" Вы (хотя insanly) решили бегать в лесу ") player_stillRunsinForest if __name__ ==" __main __ ": main() –

+0

Что вы хотите сказать? – shash678

+0

Полностью случайный недействительный синтаксис, который выглядит так же, как и другие, и после него имеет двоеточие. –

0

Вы можете создавать различные функции/процедуры для разных случаев. Например:

def choppedHand(): 
    selection = input("The bear chopped your hand off! What do you do now? \n 1.Fight the bear with one hand.\n 2. Scream and search for help.\n 3. Cry and beg for mercy") 
    if selection == "1": 
     fight() 
    elif selection == "2": 
     scream() 
    else: 
     cry() 

def run(): 
    selection = input ("Good choice, but the bear is running after you. What do you do now? 1.Run through the trees. 2.Run in the plain") 
    #etc etc, same as top. 

Answer = (input("You meet a bear, what do you do?\n 1.Give the bear a hug.\n 2.Run away.")) 
if Answer == ("1"): 
    choppedHand() 
else: 
    run() 

Это просто пример, но с помощью функции вы можете создавать различные варианты для разных случаев и вызвать функцию в других частях кода. Например, персонаж может потерять руку в другой ситуации, и в этом случае вам просто нужно вызвать функцию choppedHand().

Надеюсь, это было то, что вы искали.