《Python游戏编程快速上手》第八章--Hangman
可能有的讀者會(huì)覺得很奇怪,上一篇還是第五章,這一篇就是第八章了,中間的第六七章難道被博主吃掉了嗎?
我想說(shuō)明一下的是,在學(xué)習(xí)《Python游戲編程快速上手》一書的過(guò)程中,我越發(fā)覺得這本書更適合用做python的入門教材,就我看的這前幾章來(lái)說(shuō),這本書對(duì)于python的基礎(chǔ)用法講解極其詳細(xì),而且學(xué)生還可以在學(xué)習(xí)過(guò)程中寓教于樂(lè),真的是居家必備,入門python之必備良書啊。
第六章和第七章一章講解的是python的編譯器的用法,一章講解的是流程圖的畫法。兩章都是python基礎(chǔ)知識(shí),大家看書就好,我就不分享了。所以話不多說(shuō),我們開始第八章的游戲編程。
第八章講的是一個(gè)國(guó)外的小游戲,其實(shí)就是猜單詞的小游戲。(大概瞄了一眼第九章,還是這個(gè)游戲,只不過(guò)加些新拓展)
- 游戲規(guī)則:
- 程序從詞庫(kù)中隨機(jī)選擇一個(gè)單詞,然后告訴用戶單詞的長(zhǎng)度,用戶一個(gè)字母一個(gè)字母地猜,猜錯(cuò)的話,畫一筆小火柴人,如果小火柴人畫完之前全部猜對(duì)就贏了,如果小火柴人畫完后還沒有猜出來(lái),就輸了。
代碼如下:
import randomHANGMAN_PICS = ['''+---+|||===''','''+---+0 |||=== ''','''+---+0 || ||=== ''','''+---+0 | /| ||=== ''','''+---+0 | /|\ ||=== ''','''+---+0 | /|\ | / |=== ''','''+---+0 | /|\ | / \ |=== '''] words = "ant baboon badger bat bear beaver camel cat clam cobra cougar coyote crow deer " \"dog donkey duck eagle ferret fox frog goat goose hawk lion lizard llama mole monkey " \"moose mule newt otter owl panda parrot pigeon python rabbit ram rat raven rhino".split()def getWord():num = random.randint(1,len(words))return words[num-1]def checkCharacter(word, character):for c in range(len(word)):if word[c] == character:return creturn -1def Gauss():word = getWord()count = 0rightNum = 0out = ["_"for _ in range(len(word))]miss = ""while True:print(HANGMAN_PICS[count])print("Missed letter: " + miss)print(out)print("Gauss a character")character = input().lower()check = checkCharacter(word, character)if check == -1 and count < len(HANGMAN_PICS)-2:miss += charactercount += 1elif count>=len(HANGMAN_PICS)-2:print(HANGMAN_PICS[count])print("You failed!The letter is "+word.upper()+" .Do you want try again?(y or n)")if input() == "n":breakelse:Gauss()else:out[check] = characterrightNum += 1if rightNum == len(word):print("You win!The latter is "+word.upper()+" .Do you want restart it?(y or n)")if input() == "n":breakelse:Gauss()if __name__ == "__main__":print("H A N G M A N")Gauss()代碼非常簡(jiǎn)陋,也不需要太多注釋。這個(gè)可以改進(jìn)的地方比較多,不過(guò)我就不改了哈,但我在看這一章時(shí),我對(duì)其中根據(jù)ASCII碼畫圖那部分比較感興趣,所以這周木我會(huì)看看這部分,爭(zhēng)取用python寫出一個(gè)代碼來(lái),分享給大家,哈哈哈。
努力吧,少年!
總結(jié)
以上是生活随笔為你收集整理的《Python游戏编程快速上手》第八章--Hangman的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《Python游戏编程快速上手》第五章-
- 下一篇: 《Python游戏编程快速上手》第十章T