python編程之函數思想

#!/usr/bin/python
##Filename: game.py

from sys import exit
from random import randint

def death():
  quips = ["1-dead", "2-nice", "3-luser", "4-puppy"]
  print quips[randint(0,len(quips)-1)]
  exit(1)

#death()


def c_c():
  print "This is c_c function."
  action = raw_input("> ")

  if action == "shoot":
    print "you are dead!"
    return 'death'
  elif action == "dodge":
    print "you are eated!"
    return 'death'
  elif action == "joke":
    print "you can junp out."
    return 'l_w_a'
  else:
    print "DONOT."
    return 'c_c'

def l_w_a():
  print "get a bomb,the code is 3 digit:"
  code = "%d%d%d" % (randint(1,9), randint(1,9), randint(1,9))
  print code
  guess = raw_input("[keypad]> ")
  guesses = 0

  while guess != code and guesses < 10:
    print "BZZZZEDDD!"
    guesses += 1
    guess = raw_input("[keypad]> ")

  if guess == code:
    print "right, place it."
    return 't_b'
  else:
    print "ship."
    return 'death'

def t_b():
  print "don't want to see it off"

  action = raw_input("> ")
  if action == "bomb":
    print "it goes off."
    return 'death'
  elif action == "clowly place":
    print "get off this can"
    return 'e_p'
  else:
    print "DOES NOT COMPUTE!"
    return 't_b'


def e_p():
  print "do you take?"
  good_pod = randint(1,5)
  guess = raw_input("[pod #]> ")
  print guess
  if int(guess) != good_pod:
    print "into jam jelly."
    return 'death'
  else:
    print "time ,you won!"
    exit(0)

    
ROOMS = {
'death':death,
'c_c':c_c,
'l_w_a':l_w_a,
't_b':t_b,
'e_p':e_p
}

def runner(map, start):
  next = start

  while True:
    room = map[next]
    print "\n-------------"
    next = room()


runner(ROOMS, 'c_c')


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章