求24点游戏的算法,VC++

求24点游戏的算法,VC++,算法具体点!谢谢大家!,如果没有,知道猜数字的算法也可以!谢谢.如果有源代码,更好!但是一定要有算法!

如果太多,不好发,可以发到我诱降keven77chen@163.com
谢谢一楼的!但是我说的猜数字是说,给定4个数字,让人去猜,比如,猜对2个数,但是位置不对,就记0A2B,如果位置对了就记2A0B,如果全对了,就是4A0B,谢谢!

以下是c++(win32工程)的代码,你看一下对不对

#include <iostream>
#include <time.h>
using namespace std;

const int size=9;
class guess
{
public:
void randnum();
void cutnumguess(int);
void done();
bool guessn;
int a;
int b;
private:
int rslt[4];
int guessnum[4];
}game;

void guess::randnum()
{
rslt[0]=rand()%size;
do
rslt[1]=rand()%size;
while(rslt[1]==rslt[0]);
do
rslt[2]=rand()%size;
while(rslt[2]==rslt[0]||rslt[2]==rslt[1]);
do
rslt[3]=rand()%size;
while(rslt[3]==rslt[0]||rslt[3]==rslt[1]||rslt[3]==rslt[2]);
}

void guess::cutnumguess(int n)
{
guessnum[0]=n/1000;
guessnum[1]=n/100-10*guessnum[0];
guessnum[3]=n%10;
guessnum[2]=(n%100-guessnum[3])/10;
guessn=true;
int i,j;
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
{
if(guessnum[i]==guessnum[j])
{
guessn=false;
break;
}
if(guessn)
;
else
break;
}
}

void guess::done()
{
a=0;
b=0;
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(i==j&&guessnum[i]==rslt[j])
a++;
if(i!=j&&guessnum[i]==rslt[j])
b++;
}
}

void main()
{
char gameexit;
int chance,n;
do
{
chance=10;
game.randnum();
do
{
cout<<"你还有"<<chance<<"次机会"<<endl<<"请输入你要猜的数字";
cin>>n;
game.cutnumguess(n);
while(!game.guessn||n>9999||n<0)
{
cout<<"数字输入错误,请重新输入"<<endl<<"你还有"<<chance<<"次机会"<<endl
<<"请输入你要猜的数字";
cin>>n;
game.cutnumguess(n);
}
game.done();
if(game.a==4)
{
cout<<"你赢了!!!"<<endl<<"按[x]键退出,其他键继续";
cin>>gameexit;
break;
}
else
{
cout<<n<<" "<<game.a<<"A"<<game.b<<"B"<<endl;
}
chance--;
}while(chance!=0);
if(chance==0)
{
cout<<"你输了!!!"<<endl<<"按[x]键退出,其他键继续";
cin>>gameexit;
}
}while(gameexit != 'x');
cout<<"感谢您的使用,再见!"<<endl;
}

MFC的已经发到你的邮箱,请查收!
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-04-03
猜数字的

#include <iostream>
#include <time.h>

using namespace std;

const int size = 100; //随机数的范围

class CaiShuZi
{
public:
void RandomNumber( );
void Compare( int );
bool correct;
private:
int number;
}Game;

void CaiShuZi::RandomNumber( )
{
number = rand()%size;
correct = false;
}

void CaiShuZi::Compare( int Com )
{
if ( Com > number )
cout << "太大了!" << endl;
if ( Com < number )
cout << "太小了!" << endl;
if ( Com == number )
{
cout << "恭喜你猜对了!" << endl;
correct = true;
}
}

void Welcome( )
{
cout << "猜数字游戏" << endl;
cout << "开始游戏请输入1 退出游戏请输入2: ";
}

int main( )
{
int Init;
srand( time( NULL ) ); //随机种子
for ( ; ; )
{
Welcome( );
cin >> Init;
if ( Init == 2 ) break;
Game.RandomNumber( );
for ( ; ; )
{
cout << "请输入数字: ";
cin >> Init;
Game.Compare( Init );
cout << endl;
if ( Game.correct ) break;
}
cout << endl;
}
return 0;
}

求24点游戏的算法,VC++
for(i=0;i<3;i++)for(j=i+1;j<4;j++){ if(guessnum[i]==guessnum[j]){ guessn=false;break;} if(guessn);else break;} } void guess::done(){ a=0;b=0;int i,j;for(i=0;i<4;i++)for(j=0;j<4;j++){ if(i==j&&guessnum[i]==rslt[j])a++;if(i!=j&&g...

VC++:MFC24点游戏中纸牌是如何插入的。是直接插入图片吗?
将bmp文件作为资源插入到工程中,得到IDB_BITMAP1这样的资源,然后就可以通过LoadBitmap这样的方法形成CBitmap类了。之后,动态的应该考虑BitBlt方式贴图,简单的可以用图片控件排布。另外,之前我做过类似的纸牌游戏,有一个技巧:将所有扑克牌排布为一个大的BMP文件,通过一个类管理这个文件,需要获取一张...

用vc++编个24点游戏的流程图
参照一下,C++(清华出版)有

24点计算器
if(s2[n1][n2]\/t4==24)cout<<") \/ "<<t4<<" = 24 \\n";num++;} }}} }}} for(i1=0;i1<4;i1++){ t1=choice[i1];for(i2=0;i2<4;i2++){ if(i2!=i1){ t2=choice[i2];s1[0]=t1*t2;s1[1]=t1\/t2;for(i3=0;i3<4;i3++){ if(i3!=i1&&i3!=i2){ t3...

请教修改c语言24点代码,急
n++;arr[a] = 0;b = (n%6)\/2;if (b>=a) { b++;} arr[b] = 0;if (n%2 == 1) { for (i=3; i>=0; i--) { if (arr[i] == 1) { c = i;d = 6-a-b-c;} } s[0]=a;s[1]=b;s[2]=c;s[3]=d;return s;} for (i=0; i<4; i++) { if ...

我要计算机毕业论文
vc++24点游戏的开发和实现VC++车辆调度vc++航空检票系统+论文vc++航空客运订票系统+论文VC++基于校园网的学院教学质量监测评估系统vc++简单几何图形的识别和编辑系统+论文VC++经济管理出版社期刊书目信息管理系统vc++局域网的数据包监听及数据分析毕业论文+源代码VC++开发GIS项目程序+论文vc++可视化图像处理系统+论文vc...

我的24点游戏毕业论文提纲,大家帮我看看要怎么样修改会更好?急急急...
叫导师发个以前的毕业设计论文给你看看 一般前面会有一大段废话可以借鉴的 发email,发qq消息,发短信,打电话,找上门去,总会联系上他的,我们导师也是这样(不过不要太频繁,导师会厌的^_^)

vc 计算器程序 有追加
如果是没有窗口的就可以,要窗口用VC编写简直是自找麻烦。用MFC可以实现,纯用C貌似太麻烦了………如果没有窗口的话就简单。include<stdio.h> include<stdlib.h> include<math.h> include<string.h> typedef struct { char *base;char *top;int stacksize;}stack;void Initstack(stack &s,stack ...

医药连锁店JAVA程序
VC++ C++003指纹识别系统 C++课程设计报告(人事管理系统) VC++003指纹识别系统 VC++06全国天气信息管理系统 vc++24点游戏的开发和实现 VC++车辆调度 vc++航空检票系统+论文 vc++航空客运订票系统+论文 VC++基于校园网的学院教学质量监测评估系统 vc++简单几何图形的识别和编辑系统+论文 VC++经济管理出版社期刊书目信...

求一个。net(C#)+sql网上学生成绩查询系统(毕业设计)
VC++06全国天气信息管理系统vc++24点游戏的开发和实现VC++车辆调度vc++航空检票系统+论文vc++航空客运订票系统+论文VC++基于校园网的学院教学质量监测评估系统vc++简单几何图形的识别和编辑系统+论文VC++经济管理出版社期刊书目信息管理系统vc++局域网的数据包监听及数据分析毕业论文+源代码VC++开发GIS项目程序+论文vc++...

相似回答