C 小遊戲 撲克牌21點

2022-04-06 16:39:19 字數 3040 閱讀 9635

21點撲克牌遊戲:

程式說明:該程式是模擬21點撲克牌遊戲,玩家最多可以要5張牌,但是如果牌的點數之和超過21點,則自動出局,在不超過21點的情況下,玩家與莊家比牌的大小,大者為贏家

程式片段分析:

標頭檔案處:

#include#include

#include

using

namespace std;

cstdlib這個標頭檔案裡面,等價與stdlib,因為要生成隨機數,需要呼叫函式rand和srand,百科裡面的簡介

ctime這裡注意是呼叫時間,格林時間

之後定義了乙個類class

class

ccard

;

這裡有幾個地方需要注意:第一私有資料裡面包括了陣列,第二,出現了這種東西

void displaypip();//

顯示全部牌面

void displaypip(int);//

除了第一張,依次全部牌面點數(針對計算機的牌顯示)

這是c++裡面的過載,好象是

比較重要的函式就是生成隨機數;

首先初始化隨機數種子用srand() 如何生成隨機數,這裡有解釋

其次要注意的是這個宣告 void judge(ccard &cpu,ccard &player)//判斷輸贏

void judge(ccard &cpu,ccard &player)//

判斷輸贏

這裡採用的是這個用途:變數的引用,例如

int

a;int &b = a;//

宣告b是a的引用

flag的引用也比較經典:在函式void judge(ccard &cpu,ccard &player)//判斷輸贏中和主函式中都有應用:

while(chchoice == '

y'||chchoice =='y'

)

while

(bllogic);

playturn(cpu,player);

cout

<

是否繼續21點遊戲(y/n)?\n";

cin>>chchoice;

}

這是21點遊戲的總**:

#include#include

#include

using

namespace

std;

class

ccard

;ccard::ccard()

//建構函式初始化class ccard

int ccard::getmoney()//

void

ccard::displayinfo()

int ccard::setgamble(int gamble)//

設賭注

else

ngamble =gamble;

ndollar -=ngamble;

return0;

}void ccard::firstplaytwo()//

獲得最初的兩張牌

int ccard::getcurrentcard()//

返回已經得到的兩張牌

int ccard::getnumber()//

返回已經發的牌數

int ccard::getpip()//

返回當前點數

else

npip+=napip[i];

}return

npip;

}void ccard::displaypip()//

依次顯示牌點數

void ccard::turnplay()//

出一張牌

void ccard::win()//

贏了計算賭資

void ccard::lose()//

輸了計算賭資

void ccard::draw()//

平局void ccard::displaypip(int n)//

除了第一張牌,其他的顯示

void displayrule(void

)void judge(ccard &cpu,ccard &player)//

判斷輸贏

else

if((cpu.getpip()>21)||(player.getpip()>cpu.getpip() && player.getpip()<=21

))

else

}void playturn(ccard &cpu,ccard &player)//

玩一局

else}}

if((chchoice =='

n') ||(chchoice == 'n'

))

if(cpu.getpip()<16 && cpu.getnumber()<5

)

else

blcpu = 0

;

if(blcpu&&player.getnumber()<5&&player.getpip()<21

) blplayer = 1

; }

while(blcpu||blplayer);

judge(cpu,player);

}int

main()

while

(bllogic);

playturn(cpu,player);

cout

<

是否繼續21點遊戲(y/n)?\n";

cin>>chchoice;

}player.displayinfo();

cout

<

\n\n您是明智的,賭博有礙家庭和睦!\n";

cout

<

歡迎再次使用本程式\n\n\n";

return0;

}

view code

轉。。。。。撲克牌遊戲

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...

Java小遊戲演算法入門(撲克牌演算法)

一 燜雞簡介 1 規則 略2 案例 略二 演算法設計 1 列舉型別設計 public class menjienum public int getvalue 燜雞牌花色型別 author xiu version 2017年8月1日 下午4 07 14 public enum cardbigtype ...

基於c 的撲克牌遊戲

建立一副撲克,並完成洗牌 發牌 顯示 花色排序 面值排序 刪除一張牌 刪除一輪牌等操作。本程式新建了perdeck和playdeck兩個類,類perdeck表示某個人拿的牌,類playdeck表示四個人玩牌的過程,對原程式的修改較小。程式中用到了包含在標頭檔案stdlib.h中的函式srand 用來...