求一篇C语言的猜谜游戏论文,1000字左右~!!!急需。。希望大家能帮忙。

让我们做一个游戏...

游戏规则参考文曲星中的猜数字:

输入四个唯一的数字(用空格分隔)并按< Enter >返回结果显示在后面,

“表格是什么?答?B”,四个数中的位置和数都正确为A,数的相同位置不同为B,

4 A 0 B对的时候,每局有8次机会。

例如,如果原来的四个数字是1234,那么

1234 4 A 0 B

5678个0 A 0 B都不对。

1243 2 A 2 B 3,4是对的但是位置不对。

当你理解了规则之后,就很容易开始了。可能你还没有头绪。没关系,循序渐进。

1.首先,你想在你的游戏里做什么?

由玩家输入四个数字,验证这四个数字与正确答案的关系,提供一个“X A X B”。

提示玩家并输入...直到玩家猜对或者达到八次。

2.游戏需要哪些资源?

这个游戏不需要什么特别的东西,只需要一个printf和scanf就可以得到输入。

所以在节目开始的时候:

# include & ltstdio.h & gt

加上标准输入输出,没有这个Turbo C不知道printf和scanf从哪来。

好了,编程开始。...

main(){

}

先记下这个函数,这个叫主函数,而且只有一个程序,也叫程序入口函数。

这是你的程序开始执行的地方。)

(以下操作都在main()中)

设置四个变量来存储正确答案:(你也可以得到一个初始值)

int a1,a2,a3,a4;

然后设置四个变量来存储玩家的输入:

int b1,b2,b3,B4;

设置变量的猜测次数,并指定初始值:

int n = 0;

设置存储结果a和b的数量的两个变量:

int cA,cB;

准备完成后,设置正确答案:

a 1 = 3;

a2 = 5;

a3 = 9;

a4 = 7;

当然,你会抱怨正确答案是固定的。没关系。下面是如何产生随机效果。慢慢来。

仔细想想整个游戏流程。...

大概是这样的:

循环执行:

输入;

对比正确答案;

输出提示;

判断自己是否猜对了;

是:展现胜利,退出循环,否:无视;

倍加1;

判断次数是否超过;

是:显示失败,退出循环;

周期结束;

所以,为了更容易理解,我们使用了无限循环,但是我们要注意一点:必须有一个结束循环的语句!

打破;这是声明。

所以:

while(1){

...

打破;

...

}

写下来就好。而(XX){YYYY}是这样工作的:

XX是否为0(真)

否:

执行YYYY

是:退出循环

再次检查XX是否不为0。

...

但你一定要清楚:破;会迫使你退出这个圈子。

好了,就这样:

printf("\n\t猜测数字!\ n \ n ");/*打印一些提示*/

While(1){ /*开始用户输入和程序输出*/

printf("%d:",n+1);/*打印当前输入的数量*/

scanf("%d %d %d %d ",& ampb1。b2和ampb3和ampB3);

/*不知道为什么要在b1之前加& B2。,先想想,scanf会是这样的*/

cA = 0;

cB = 0;/*比较即将开始,所以将结果设置为0*/

/*在比较的开始,我们用了一堆if替我们做事*/

/*虽然这个有点繁琐,但是谁告诉我们是新手呢?但是告诉你,这种表达效率是最高的*/

if(a 1 = = b 1)ca++;

if(a2 = = B2)ca++;

if(a3 = = B3)ca++;

if(a4 = = B4)ca++;/*逐个检查添加的数量*/

if(a 1 = = B2 | | a 1 = = B3 | | a 1 = = B4)c b++;

if(a2 = = b 1 | | a2 = = B3 | | a2 = = B4)c b++;

if(a3 = = b 1 | | a3 = = B2 | | a3 = = B4)c b++;

if(a4 = = b 1 | | a4 = = B2 | | a4 = = B3)c b++;

/*通过彻底检查获得的B的数量*/

/*当然你一定要保证玩家输入的东西不一样,不然会闹出笑话*/

/*检查和比较结束*/

/*打印提示*/

printf("\t\t%d A %d B\n ",cA,cB);

/*判断是否获胜*/

if(cA == 4){

printf(" \ n \ t完成!\ n ");

getch();/*getch()的作用是输入一个字符,不需要输入,也不会显示在屏幕上*/

/*通常用于暂停程序*/

打破;/*退出循环*/

}

/*次数加一*/

n++;

/*判决数量*/