網站首頁 編程語言 正文
1.游戲思路和流程圖
實現功能:隨機一個單詞讓玩家猜測(后續難度實現修改為成語填空,成語必須要有提示,可修改猜的次數,增加連續猜成語,難度系數隨著次數的增加而增加)
游戲流程圖
2. 單詞庫和模塊
import random word='''and away big blue can come down find for funny go''' word_list=word.split()
3. 游戲開始提示
def game_info(): '''游戲開始提示函數''' print('歡迎來到猜單詞') print('游戲提示:你有9次猜單詞的機會,一次只能猜一個字母')
4. 重新開始游戲輸入驗證
def Double_choice(a,b,hint): ? ? '''雙選擇驗證函數 ? ? :param a 第一個選項值 ? ? :param b 第二個選項值 ? ? :param hint 選項信息 ? ? :return 返回輸入值''' ? ? choice='' ? ? while choice.lower() !=a and choice.lower() !=b: ? ? ? ? print(hint) ? ? ? ? choice=input() ? ? return choice
5. 用戶輸入驗證
def letter_limited(letter,right_letter_list): '''字母輸入約束條件 :param letter 用戶輸入單詞 :param right_letter_list 用戶猜中單詞列表 :return 返回 用戶輸入單詞''' while True: if len(letter) !=1: print('請輸入一個字母') elif letter in right_letter_list: print('這個字母猜過了,請重新猜一個字母') elif letter not in 'abcdefghijklmnopqrstuvwxyz': print('請輸入英文字母') else: break letter=input() return letter.lower()
6. 猜詞判斷(游戲核心)
def word_handle(user_letter,guess_letter_list,right_letter_list): ? ? '''字母判斷 ? ? :param user_letter 用戶輸入字母 ? ? :param guess_letter_list 需要猜測的字母列表 ? ? :param right_letter_list 用戶猜中的字母列表 ? ? :return 返回用戶猜中的字母列表''' ? ? for i in range(len(guess_letter_list)): ? ? ? ? if user_letter == guess_letter_list[i].lower(): ? ? ? ? ? ? right_letter_list[i]=guess_letter_list[i] ? ? return right_letter_list
7. 游戲完成度提示
def game_content_hint(guess_letter_list): ? ? '''游戲界面函數''' ? ? print('單詞完成度:%s'%' '.join(guess_letter_list))
8. 游戲核心外殼
def game_start(): '''游戲開始函數''' guess_word=random.choice(word_list) guess_letter_list=list(guess_word) #猜單詞的列表 right_letter_list=['_'for i in guess_letter_list] #用戶看見的單詞列表 count=9 #猜取的次數 while count: game_content_hint(right_letter_list) print('猜單詞中的字母(剩余機會%d)'%count) user_letter=letter_limited(input(),right_letter_list) # print(user_letter) right_letter_list=word_handle(user_letter,guess_letter_list,right_letter_list) # print(right_letter_list) if right_letter_list == guess_letter_list: break count -= 1 if right_letter_list == guess_letter_list: print('恭喜你猜中了全部字母,這個單詞是%s'%guess_word) else: print('你的機會用光了也沒猜中,這個單詞是%s' %(guess_word))
9. 游戲外殼(重新開始游戲)
def game_shell(): '''外殼程序''' game_info() # 游戲開始提示 game_start() while True: message='你想在玩一次嗎(Y or N)' again_flag=Double_choice('y','n',message) if again_flag=='n': break game_start()
10. 運行游戲
game_shell()
原文鏈接:https://www.cnblogs.com/gm332211/p/10710243.html
相關推薦
- 2023-04-29 vscode搭建python?Django網站開發環境的示例_python
- 2022-12-06 Pthread并發編程之線程基本元素和狀態的剖析_C 語言
- 2023-01-19 Android?任務棧機制詳解_Android
- 2023-07-02 Python?中的裝飾器實現函數的緩存(場景分析)_python
- 2022-07-16 Spring Boot之Dao、Service、Controller通過注解委托給Spring容器
- 2022-07-23 .Net創建型設計模式之工廠方法模式(Factory?Method)_基礎應用
- 2022-03-30 C語言入門之淺談數據類型和變量常量_C 語言
- 2022-09-27 OpenCV中findContours函數參數詳解_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支