您的位置:首页 > 其它

【算法应用制作工具】:斗地主记牌器

2016-11-15 16:30 113 查看

简介

斗地主记牌器就是把别人打过的牌记录下来,排除自己的手牌,然后算出别人手里面还有哪些牌,这样对自己能够赢大有裨益。这种东西QQ斗地主已经自己附带了,但是对于我这种没钱冲QQ会员的人来说,我自己还是做了一个用来记牌。这样能够保证自己的胜率。

记牌器原理

原理很简单,就是用paper[17]数组记录该牌数组,对于每个值初始为4或者是1(大小王),然后通过每次输入字符串的方式来扣除牌,原理非常简单,制作也是仅仅用了一个字符串的比较,总共不到50行代码。。。

代码

//斗地主记牌程序

#include <iostream>
#include <string>
using namespace std;
int main()
{
int paper[17];
for(int i=3;i<=15;i++){
paper[i] = 4;
}
paper[16] = 1;paper[17] = 1;
cout<<"注意,大王用D表示,小王用X表示,10用S表示,其余正常表示,都用大写"<<endl;
cout<<"注意,每次输入都连续完成不要有空格,完成之后用回车"<<endl;
string s;
while(cin>>s){
for(int i=0;i<s.length();i++){
if(s[i]>='3' && s[i]<='9'){
paper[s[i]-'0']--;
}
if(s[i]=='S'||s[i] =='s'){
paper[10]--;
}
if(s[i]=='J'||s[i] =='j'){
paper[11]--;
}
if(s[i]=='Q'||s[i]=='q'){
paper[12]--;
}
if(s[i]=='K'||s[i] =='k'){
paper[13]--;
}
if(s[i]=='A'||s[i] =='a'){
paper[14]--;
}
if(s[i]=='2'){
paper[15]--;
}
if(s[i]=='X'||s[i]=='x'){
paper[16]--;
}
if(s[i]=='D'|| s[i]=='d'){
paper[17]--;
}
}

//打印信息
cout<<"剩下的牌有:"<<endl<<endl;
for(int j=3;j<10;j++){
cout<<"     "<<j<<" :"<<paper[j]<<endl;
}
cout<<"     10  :"<<paper[10]<<endl;
cout<<"     J   :"<<paper[11]<<endl;
cout<<"     Q   :"<<paper[12]<<endl;
cout<<"     K   :"<<paper[13]<<endl;
cout<<"     A   :"<<paper[14]<<endl;
cout<<"     2   :"<<paper[15]<<endl;
cout<<"     小王  :"<<paper[16]<<endl;
cout<<"     大王  :"<<paper[17]<<endl<<endl;
cout<<"*************    此轮数据展示完毕    **************"<<endl;
}
}


使用情况

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐