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



四、 實(shí)現(xiàn)過程
洗牌時(shí)使用rand函數(shù),使每次產(chǎn)生的隨機(jī)數(shù)與上一次的不相同,隨機(jī)數(shù)范圍在1到52之間,并且弄個(gè)循環(huán),保證每次產(chǎn)生的數(shù)字都與之前的不一樣。另外,定義一個(gè)結(jié)構(gòu)體,把每次產(chǎn)生的隨機(jī)數(shù)都放進(jìn)這個(gè)結(jié)構(gòu)體中。程序中每個(gè)玩家都必須出牌,所以要定義一個(gè)函數(shù)將數(shù)字分別轉(zhuǎn)變?yōu)榧埮啤⑼婕页鲞^的牌賦值為13,依次達(dá)到標(biāo)記刪除的目的。以玩家1為首先打牌者,從最小的牌開始,有幾張一樣的都出,以此達(dá)到任意n(1<=n<=4)張出牌的目的,玩家2看有沒有牌大于玩家1,如果有則出牌,沒有就輪到玩家3,同理輪到玩家4。把每個(gè)玩家已經(jīng)打過的牌進(jìn)行賦值為13,目的就是防止再一次打牌。當(dāng)所有玩家沒有出牌時(shí),上輪贏的玩家就會(huì)重新出牌。游戲結(jié)束是以某位玩家的牌先出完為勝。



五、 結(jié)論與改進(jìn)
項(xiàng)目已完成的效果:
\1. 一副撲克52張牌,從小到大的順序?yàn)椋?、3、4、5、6、7、8、9、10、J、Q、K、A,
\2. 由電腦隨機(jī)洗牌,并分成4份(4個(gè)電腦玩家),并設(shè)計(jì)出一個(gè)對(duì)弈函數(shù),每家調(diào)用該函數(shù)實(shí)現(xiàn)自動(dòng)出牌;出牌后,若所有下家都沒有牌出,則當(dāng)前這一家可以選擇出其它牌。一次出牌可以是1張、2張一樣、3張一樣或者4張一樣,下家所出的牌,需要大于上家出的牌,若上家出2張一樣的,那下家也要出2張一樣的,而且比它大的牌;
到此這篇關(guān)于C語言撲克牌游戲示例的文章就介紹到這了,更多相關(guān)C語言撲克牌內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于OpenCV和C++ 實(shí)現(xiàn)圖片旋轉(zhuǎn)
這篇文章主要介紹了基于OpenCV和C++ 實(shí)現(xiàn)圖片旋轉(zhuǎn),幫助大家更好的利用c++處理圖片,感興趣的朋友可以了解下2020-12-12
VC中SendMessage和PostMessage的區(qū)別
這篇文章主要介紹了VC中SendMessage和PostMessage的區(qū)別,較為全面的分析了SendMessage和PostMessage運(yùn)行原理及用法上的不同之處,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10
C&C++設(shè)計(jì)風(fēng)格選擇 命名規(guī)范
本文難免帶有主觀選擇傾向,但是會(huì)盡量保持客觀的態(tài)度歸納幾種主流的命名風(fēng)格,僅供參考2018-04-04
C++數(shù)據(jù)結(jié)構(gòu)深入探究棧與隊(duì)列
棧和隊(duì)列,嚴(yán)格意義上來說,也屬于線性表,因?yàn)樗鼈円捕加糜诖鎯?chǔ)邏輯關(guān)系為 "一對(duì)一" 的數(shù)據(jù),但由于它們比較特殊,本章講解分別用隊(duì)列實(shí)現(xiàn)棧與用棧實(shí)現(xiàn)隊(duì)列2022-05-05

