返回網站

猜生肖小遊戲

利用 Python 來寫小遊戲的邏輯判斷、random 亂數選生肖

· Python

程式初學者的小遊戲

  在剛開始學習程式語言時,老師總是會教如何寫出一個小遊戲,像是猜範圍內的一個數字、和電腦玩猜拳等等的遊戲,這些都是只要利用簡單的邏輯判斷就可以寫出來。可是一直寫一樣的遊戲就不有趣了,這裡就稍微做一些改變;最近剛過完農曆新年,元宵燈會也開始了(今年是豬年喔!),不如就利用 Python 來寫一個猜生肖的小遊戲吧!

附有提示的猜生肖小遊戲。

上圖是遊戲的完整展示,遊戲一開始就是要請你猜出電腦已決定好的一個生肖,當輸入錯誤或是亂打字時,會告訴你錯誤訊息並繼續遊戲,而輸入生肖但是沒猜中的話,則會隨機給你三種不同類型的提示,最後猜對的話會讓你知道共猜了幾次,遊戲結束。

一些會用到的串列和字典以及匯入 random。

一開始先將 random 匯入,還有建立一些會使用到的資料,像是生肖的中文、英文,以及提示的串列,其中因為要練習 Python 字典的使用,所以將生肖中文的部分改為字典(key+value)。

(draw 是各個生肖筆劃數的串列名稱)

寫出關鍵的亂數選生肖、輸入和計次用的變數 f。

random 裡面可以使用的工具有很多,這次利用 randrange 取 1 到 12 其中一個數字,然後先將 f 的值設為 0 方便之後累加。

接著開始直接進入 while 迴圈,答對才會從迴圈裡面跳出(break)。

這裡的 not in 是一對很方便的 keywords,當我們輸入的字串只要不在 animalch 字典裡,就顯示訊息並繼續遊戲;只有在猜對生肖之後才會從 while 迴圈跳出。

三種提示,亂數選取其中一個種類後,給予不定的提示。

假如答案有在 animalch 裡可是沒有答對,就會在 hint 串列選取一個種類,給予不定的提示。

(這裡有再利用 random.randrange 讓某些提示不一定會直接給予答案。)

整個遊戲設計其實就是猜數字、猜拳小遊戲的延伸,但是只要多了一點點變化,就可以讓遊戲感覺起來很不一樣,也能練習多個迴圈、串列字典以及 randrange 的使用。