斗地主程序设计c语言,C语言斗地主游戏v0.1
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
2.4 打牌階段
這是整個(gè)程序中最復(fù)雜、最重要的一個(gè)階段,涉及到牌型判定、大小比較、勝負(fù)判定和出牌策略等眾多環(huán)節(jié)。
2.4.1 牌型判定
我編寫(xiě)這個(gè)函數(shù)的思路是:按牌的張數(shù)(即strlen(r))枚舉,若張數(shù)為1,必為單張;若張數(shù)為2,可能是對(duì)子、王炸或者不合法牌型。以此類推到20張。代碼的前面一部分如下:
int judge(string r,string t) //判斷r是什么牌型,返回到t,返回牌型大小
{
string s;
int lv;
uplist(r,s);
switch(strlen(s))
{
case 1:add(t,"1");return level(s[0]);
case 2:
if (s[0]==s[1]) {add(t,"2");return level(s[0]);}
if ((s[0]=='D' && s[1]=='X')||(s[0]=='X' && s[1]=='D')) {add(t,"DX");return 16;}
break;
case 3:
if (s[0]==s[1] && s[1]==s[2]) {add(t,"3");return level(s[0]);}
break;
……
}
string是自定義類型,即typedef char string[256];
add()是自定義函數(shù),add(t,s)即t=s,add(t,s1,s2)即t=s1+s2;
level()是自定義函數(shù),返回牌的符號(hào)c代表的點(diǎn)數(shù)大小,即
c '3' '4' '5' ... '9' '0' 'J' 'Q' 'K' 'A' '2' 'X' 'D'
level(c) 3 4 5 ... 9 10 11 12 13 14 15 16 17
總結(jié)
以上是生活随笔為你收集整理的斗地主程序设计c语言,C语言斗地主游戏v0.1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux离线安装rjava,无法在ub
- 下一篇: C语言的成绩查询系统,c语言 成绩查询系