C語言撲克牌游戲示例
一、 設計目的
撲克牌是我們從小玩到大的紙牌類小游戲,我們有各種玩法跟不同的規(guī)則。我之所以選擇的這個撲克牌,是因為我覺得可以提高我的編程邏輯能力跟運用循環(huán)的能力。還能讓我自由運用所學知識完成我的項目設計的需求,對我綜合能力的能力很有挑戰(zhàn)!
二、 設計內容與要求
(1)設計內容:撲克牌游戲。
(2)介紹撲克牌:一副沒有大小王的52張牌,該牌從大到小的順序為:2、3、4、5、6、7、8、9、10、J、Q、K、A。
(3)設計的比賽規(guī)則是:為每位玩家隨機分配13張牌,設計以玩家1為最先發(fā)牌者,并且可以任意n(1 <=n<= 4)張出牌,并且下一位玩家的牌數要與上一位玩家所出的牌的數量一致,并且比上位玩家大,只要有一個玩家的牌出完則該玩家勝利,游戲結束。
三、 設計思路



四、 實現過程
洗牌時使用rand函數,使每次產生的隨機數與上一次的不相同,隨機數范圍在1到52之間,并且弄個循環(huán),保證每次產生的數字都與之前的不一樣。另外,定義一個結構體,把每次產生的隨機數都放進這個結構體中。程序中每個玩家都必須出牌,所以要定義一個函數將數字分別轉變?yōu)榧埮?。將玩家出過的牌賦值為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張一樣的,而且比它大的牌;
到此這篇關于C語言撲克牌游戲示例的文章就介紹到這了,更多相關C語言撲克牌內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解C/C++ Linux出錯處理函數(strerror與perror)的使用
我們知道,系統(tǒng)函數調用不能保證每次都成功,必須進行出錯處理,這樣一方面可以保證程序邏輯正常,另一方面可以迅速得到故障信息。本文主要為大家介紹兩個出錯處理函數(strerror、perror)的使用,需要的可以參考一下2023-01-01

