python学习之——综合小游戏
生活随笔
收集整理的這篇文章主要介紹了
python学习之——综合小游戏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
照著笨方法學python的書寫了一個小游戲
#!/usr/bin/env python # -*- coding:utf-8 -*- from sys import exit from random import randint def death():quips = ["你死了,你有點傻","干得好,你死了","你是一個失敗者","我的狗比你做得好"]print quips[randint(0, len(quips) - 1)]exit(1) def central_corridor():print "行星Gothons侵入了你的船"print "你是最后一個幸存的成員"print "你的任務是從武器軍械庫獲得中子毀滅炸彈, "print "把它放在船上,然后跑到分離艙內"print "\n"print "你正在沿著中央走廊跑到武器軍械庫"print "一個Gothon跳出來,它有紅色的鱗狀皮膚,黑暗的骯臟的牙齒穿著邪惡的小丑服裝"print "他擋住了大門"print "軍械庫即將爆炸"print "現在你有三個選擇,1.射擊Gothon 2.逃跑 3.給他開個玩笑"action = raw_input("> ")if action == "1":print "你向Gothon開火"print "你的激光擊中他的服裝,但完全對他沒有傷害"print "他陷入一個瘋狂的憤怒,并開始對你進行攻擊"print "你死了,然后他吃了你。"return 'death'elif action == "2":print "在你巧妙的躲閃中,你摔倒了"print "頭撞在金屬墻上,然后昏倒了。"print "在Gothon踩踏你后,你醒了過來"print "Gothon殺了你"return 'death'elif action == "3":print "他們讓你學習Gothon對你們的侮辱。"print "你告訴Gothon一個笑話:"print "Gothon頓停下來,然后大笑起來,不能動彈。"print "當他笑的時候,你跑起來并向他開槍。"print "然后繞過他,跳到武器軍械庫的門口。"return 'laser_weapon_armory'else:print "請重新輸入答案,1、2或3"return 'central_corridor' def laser_weapon_armory():print "你在武器庫里俯沖,蹲伏,掃視房間"print "為了躲藏更多的Gothon"print "你站起來跑向房間的遠側"print "發現中子彈在箱子里,箱子上有一個密碼鎖"print "你需要密碼才能把炸彈拿出來"print "錯了10次,鎖就永遠關上了,你不能得到炸彈了"print "密碼是3位數字,每一位都由1到9隨機組成"code = "%d%d%d" % (randint(9, 9), randint(9, 9),randint(9, 9))guess = raw_input("[keypad]> ")guesses = 0while guess != code and guesses < 10:print "輸入錯誤"guesses += 1guess = raw_input("[keypad]> ")if guess == code:print "箱子咔噠一聲打開"print "你抓住中子彈,盡快跑出去"print "你必須把它放在正確的位置。"return 'the_bridge'else:print "鎖最后一次嗡嗡響"print "炸彈融化"print "Gothon殺了你"print "你死了"return 'death' def the_bridge():print "此時Gothon已經到了你身邊"print "此時你有兩個選擇1.扔掉炸彈2.用炸彈要挾他們"action = raw_input("> ")if action == "1":print "在驚恐中你把炸彈扔給Gothon"print "然后你跑向門"print "Gothon從你背后殺了你"print "當你死的時候,你看到另一個Gothon瘋狂地試圖解除炸彈。"print "你希望炸彈爆炸"print "但是它熄滅了。"return 'death'elif action == "2":print "你拿炸彈要挾他們,想和他們同歸于盡"print "Gothons舉起雙手開始出汗。"print "你后退到門前,小心地打開了門。"print "你把炸彈放到了地板上"print "然后你跑出門,并關上了門"print "然后把鎖鎖上,這樣Gothon就逃不出去了。"print "現在炸彈被放置好了,你需要逃到逃生艙才能不被炸傷"return 'escape_pod'else:print "請輸入有效答案1或2"return "the_bridge"def escape_pod():print "現在需要跳到一個分離艙,才能躲避船體爆炸"print "但是你沒有時間去看。有分離艙(1-5),只有一個能與船體分離,你選哪一個?"good_pod = "%d"%(randint(2, 2))guess = raw_input("請輸入一個數字>")if guess != good_pod:print "你跳到分離艙%s并按下彈出按鈕。" %guessprint "分離艙沒有與船分離"print "你被炸死了"return death()else:print "你跳到分離艙%s并按下彈出按鈕。" %guessprint "分離艙與船分離"print "你贏了!"exit(0)ROOMS = {'death': death,'central_corridor': central_corridor,'laser_weapon_armory': laser_weapon_armory,'the_bridge': the_bridge,'escape_pod': escape_pod} def runner(map, start):next = startwhile True:room = map[next]print "\n--------"next = room()runner(ROOMS, 'central_corridor')注:
ROOMS = {'death': death,'central_corridor': central_corridor,'laser_weapon_armory': laser_weapon_armory,'the_bridge': the_bridge,'escape_pod': escape_pod} def runner(map, start):next = startwhile True:room = map[next]print "\n--------"next = room()runner(ROOMS, 'central_corridor')這段代碼可以改為
central_corridor()
然后把代碼中的所有return '…'改為return …
如return "the_bridge"改為return the_bridge
總結
以上是生活随笔為你收集整理的python学习之——综合小游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Springboot毕设项目基于Java
- 下一篇: websocket python爬虫_p