欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python3练习题系列(04)

程序员文章站 2022-04-12 16:33:42
题目: 制作一个游戏 知识点: 函数、if_elif_else, while, exit 游戏图谱: 游戏代码: 玩游戏过程: You are in a dark room. There is a door to your right and left. Which one do you take? ......

题目:

制作一个游戏

知识点:

函数、if_elif_else, while, exit

游戏图谱:

Python3练习题系列(04)

游戏代码:

from sys import exit

def gold_room():
    print('This room is full of gold. How much do you take?')
    
    next = input("> ")
    
    if "0" in next or "1" in next:
        how_much = int(next)
    else:
        dead("Man, you're not greedy, you win!")
    
    if how_much < 50:
        print("Nice, you're not greedy, you win!")
        exit(0)
    else:
        dead("You greedy bastard!")
        
# bastard 英 ['bɑːstəd; 'bæst-]  美 ['bæstɚd] adj. 私生的 n. 私生子        
        
# greedy 英 ['griːdɪ] 美 ['gridi] adj. 贪婪的;贪吃的;渴望的        
        

def bear_room():
    print("There is a bear here.")
    print("The bear has a bunch of honey.")
    print("The fat bear is in front of another door.")
    print("How are you going to move the bear?")
    
    bear_moved = False
    
    while True:
        next = input("> ")
        
        if next == "take honey":
            dead("The bear looks at you then slaps your face off.")
        elif next == "taunt bear" and not bear_moved:
            print("The bear has moved from the door. You can go through it now.")
            bear_moved = True
        elif next == "taunt bear" and bear_moved:
            dead("The bear gets pissed off and chews your leg off.")
        elif next == 'open door' and bear_moved:
            gold_room()
        else:
            print("I got no idea what that means.")
            
'''
taunt 英 [tɔːnt] 美 [tɔnt] n. 嘲弄;讥讽 adj. 很高的 vt. 奚落;逗弄

'''          
                      
            
def cthulhu_room():
    print("Here you see the great evil Cthulhu.")
    print("He, it, whatever stares at you and you go insane.")
    print("Do you flee your life or eat your head?")
    
    next = input("> ")
    if 'flee' in next:
        start()
    elif 'head' in next:
        dead("Well that was tasty!")
    else:
        cthulhu_room()
        
# insane 英 [ɪn'seɪn] 美 [ɪn'sen] adj. 疯狂的;精神病的;极愚蠢的
        
def dead(why):
    print(why, "Good job!")
    exit(0)
    
def start():
    print("You are in a dark room.")
    print("There is a door to your right and left.")
    print("Which one do you take?")
    
    next = input("> ")
    if next == 'left':
        bear_room()
    elif next == 'right':
        cthulhu_room()
    else:
        dead("You stumble around the room until you starve.")
        
start()

# stumble 英 ['stʌmb(ə)l] 美 ['stʌmbl] n. 绊倒;蹒跚而行 vi. 踌躇,蹒跚;失足;犯错 vt. 使…困惑;使…绊倒

玩游戏过程:

You are in a dark room.
There is a door to your right and left.
Which one do you take?
> left
There is a bear here.
The bear has a bunch of honey.
The fat bear is in front of another door.
How are you going to move the bear?
> taunt bear
The bear has moved from the door. You can go through it now.
> open door
This room is full of gold. How much do you take?
> 60
You greedy bastard! Good job!
SystemExit: 0

来自《笨办法学Python》