C语言实现纸牌计算24点小游戏
利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的。程序主要功能已完成,目前还有部分细节未处理,待完成ing...对于代码中的错误,恳请批评指正。
游戏描述:
A-10:分别代表数字 1-10。
J,Q,K:均代表数字1。
考虑到部分地方的规则,J,Q,K 也可以当成10 ,或者直接代表本身所代表的数字,即11、12、13来运算。
使用加减乘除,能得出24者为赢,存在无解情况。
游戏开始得分为1000分,每一秒钟减少1分,当答对一次时,分数增加100分。(暂未实现)
代码如下:
/*
*
* Project : 计算24
*
* Author : 鬼狐_Ambrose
*
* Date : 2015年3月25日10:55:47
*
* Remark :纸牌中的10以0代替,减法得数均为正数
*/
#include
#include
#include
char getPokerCard(int value)
{
if(value==)
{
return 'A';
}
else if(value
{
return value+'';
}
else if(value==)
{
return '';
}
else if(value==)
{
return 'J';
}
else if(value==)
{
return 'Q';
}
else if(value==)
{
return 'K';
}
}
void printAnswer(int flag,int *poker,char *oper,char *answer)
{
char a=getPokerCard(poker[]);
char b=getPokerCard(poker[]);
char c=getPokerCard(poker[]);
char d=getPokerCard(poke