斗地主记牌器V1.0

好久没玩斗地主,上线之后,送了我个记牌器。。。要说这个记牌器啊,是真的好用,特别是在快结束的时候,能推测其他玩家手中还剩什么牌,简直是欢乐豆收割神器啊哈哈哈哈哈。。。。。

但是嘞,送我的记牌器过期了怎么办。。。。。还是自己做个吧。。。。。。。

于是就有了。。。。。

[cc lang = “cpp” escaped = “true”]
//斗地主记牌器无敌简陋版V1.0
//可能不再更新!!!

//使用说明:
//开局之后先输入自己手中的牌,其中输入d代表大王,x为小王,1为A,0为10,jqk对应JQK,其它为数字
//然后再其他两位玩家出牌后,需要自己手动输入
//注意自己出的牌不用重复输入
//则记牌器中显示的剩余值为其他玩家手中的牌
//每新开一轮需要重新跑程序
//无终止条件

#include

//输出记牌器
#define SHOW printf(“D X 2 A K Q J 10 9 8 7 6 5 4 3\n%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n\n”, D, X, card[2], card[1], card[13], card[12], card[11], card[10], card[9], card[8], card[7], card[6], card[5], card[4], card[3]);

using namespace std;

int main(void) {
int D = 1, X = 1;
int card[14];
for (int i = 1; i < 14; i++)
card[i] = 4;
char ch;
SHOW;
while (cin >> ch) {
if (ch == ‘\n’) continue;
switch (ch) {
case ‘d’: D–; break;
case ‘x’: X–; break;
case ‘1’: card[1]–; break;
case ‘2’: card[2]–; break;
case ‘3’: card[3]–; break;
case ‘4’: card[4]–; break;
case ‘5’: card[5]–; break;
case ‘6’: card[6]–; break;
case ‘7’: card[7]–; break;
case ‘8’: card[8]–; break;
case ‘9’: card[9]–; break;
case ‘0’: card[10]–; break;
case ‘j’: card[11]–; break;
case ‘q’: card[12]–; break;
case ‘k’: card[13]–; break;
}
SHOW;
}
return 0;
}
[/cc]

怎么样,很简陋对吧。。。。嗯,只是个小想法,没有深入做(还不是技术不行。。。。。

虽然以后我不会再更新这个了(也可能会),但这里有几个小想法分享给大家!

斗地主记牌器V2.0
– 加入图形化界面
– 优化显示,在牌数为0时显示变灰色

斗地主记牌器V3.0
– 通过模式识别,可以分析用户的牌,并实现自动计数功能

斗地主记牌器V4.0
– 通过机器学习,学习用户出牌习惯
– 根据学习成果分析其他用户最可能的剩余牌
– 根据学习成果为使用者制定出牌策略

PS 这不就是AI嘛。。。。。。
PPS 上边那句话好有“设计感”。。。。。。(冷。。。



Leave a Reply

Your email address will not be published. Required fields are marked *