日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言撲克牌游戲示例(c語言紙牌游戲)

作者:DM_LL ? 更新時間: 2022-03-14 編程語言

一、 設計目的

撲克牌是我們從小玩到大的紙牌類小游戲,我們有各種玩法跟不同的規則。我之所以選擇的這個撲克牌,是因為我覺得可以提高我的編程邏輯能力跟運用循環的能力。還能讓我自由運用所學知識完成我的項目設計的需求,對我綜合能力的能力很有挑戰!

二、 設計內容與要求

(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

欄目分類
最近更新