網站首頁 編程語言 正文
一、 設計目的
撲克牌是我們從小玩到大的紙牌類小游戲,我們有各種玩法跟不同的規則。我之所以選擇的這個撲克牌,是因為我覺得可以提高我的編程邏輯能力跟運用循環的能力。還能讓我自由運用所學知識完成我的項目設計的需求,對我綜合能力的能力很有挑戰!
二、 設計內容與要求
(1)設計內容:撲克牌游戲。
(2)介紹撲克牌:一副沒有大小王的52張牌,該牌從大到小的順序為:2、3、4、5、6、7、8、9、10、J、Q、K、A。
(3)設計的比賽規則是:為每位玩家隨機分配13張牌,設計以玩家1為最先發牌者,并且可以任意n(1 <=n<= 4)張出牌,并且下一位玩家的牌數要與上一位玩家所出的牌的數量一致,并且比上位玩家大,只要有一個玩家的牌出完則該玩家勝利,游戲結束。
三、 設計思路
四、 實現過程
洗牌時使用rand函數,使每次產生的隨機數與上一次的不相同,隨機數范圍在1到52之間,并且弄個循環,保證每次產生的數字都與之前的不一樣。另外,定義一個結構體,把每次產生的隨機數都放進這個結構體中。程序中每個玩家都必須出牌,所以要定義一個函數將數字分別轉變為紙牌。將玩家出過的牌賦值為13,依次達到標記刪除的目的。以玩家1為首先打牌者,從最小的牌開始,有幾張一樣的都出,以此達到任意n(1<=n<=4)張出牌的目的,玩家2看有沒有牌大于玩家1,如果有則出牌,沒有就輪到玩家3,同理輪到玩家4。把每個玩家已經打過的牌進行賦值為13,目的就是防止再一次打牌。當所有玩家沒有出牌時,上輪贏的玩家就會重新出牌。游戲結束是以某位玩家的牌先出完為勝。
五、 結論與改進
項目已完成的效果:
\1. 一副撲克52張牌,從小到大的順序為:2、3、4、5、6、7、8、9、10、J、Q、K、A,
\2. 由電腦隨機洗牌,并分成4份(4個電腦玩家),并設計出一個對弈函數,每家調用該函數實現自動出牌;出牌后,若所有下家都沒有牌出,則當前這一家可以選擇出其它牌。一次出牌可以是1張、2張一樣、3張一樣或者4張一樣,下家所出的牌,需要大于上家出的牌,若上家出2張一樣的,那下家也要出2張一樣的,而且比它大的牌;
原文鏈接:https://blog.csdn.net/DM_LL/article/details/122083110
相關推薦
- 2023-04-06 sql?server?2008數據庫不能添加附加文件的解決方法_mssql2008
- 2023-01-26 redis性能優化之生產中實際遇到的問題及排查總結_Redis
- 2022-07-26 淺談Redis的事件驅動模型_Redis
- 2023-03-26 React性能優化的實現方法詳解_React
- 2022-11-10 利用Python的pandas數據處理包將寬表變成窄表_python
- 2023-01-05 Kotlin啟動協程的三種方式示例詳解_Android
- 2022-07-06 Python中的字符串相似度_python
- 2023-01-05 C#不提升自己程序的權限實現操作注冊表_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同步修改后的遠程分支