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

简介

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

记牌器原理

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

代码

//斗地主记牌程序

#include 
#include 
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表示,其余正常表示,都用大写"<cout<<"注意,每次输入都连续完成不要有空格,完成之后用回车"<string s;
    while(cin>>s){
        for(int i=0;iif(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<<"剩下的牌有:"<for(int j=3;j<10;j++){
            cout<<"     "<" :"<cout<<"     10  :"<10]<cout<<"     J   :"<11]<cout<<"     Q   :"<12]<cout<<"     K   :"<13]<cout<<"     A   :"<14]<cout<<"     2   :"<15]<cout<<"     小王  :"<16]<cout<<"     大王  :"<17]<cout<<"*************    此轮数据展示完毕    **************"<

使用情况

【算法应用制作工具】:斗地主记牌器_第1张图片

你可能感兴趣的:(经典算法探究,简单算法应用制作工具)