这道题不难,只要知道怎样用c语言生成1~100的随机数就很好办了!
附代码如下!#include<stdioh>
#include <stdlibh>
#include <mathh>
int main()
{
index:
printf("请选择是否进行猜数!\n1:是\t0:否\n");
int j;
scanf("%d",&j);
if(j == 0)
return 0;
int i,x = rand() % 100 + 1,input;
for(i = 0;i <10;i ++)
{
printf("请输入猜想的1至100之间的整数:");
scanf("%d",&input);
if(input == x)
{
printf("猜想正确!\t你一共猜想了%d次\n",i + 1);
goto index;
}
if(input < x)
{
if((i + 1) >= 10)
{
printf("\n此次猜想失败!\n");
goto index;
}
else
printf("所猜数过小!\t请再猜一次!\n");
}
if(input > x)
{
if((i + 1) >= 10)
{
printf("\n此次猜想失败!\n");
goto index;
}
else
printf("所猜数过大!\t请再猜一次!\n");
}
}
}
为了简化,使用了goto语句。
首先学会一门语言,你可以从初级的C跳到C++,有些人喜欢MFC,用它也可以编游戏,但最好还是抛掉部分MFC的东西,使用DirectX吧。因为我主要学的C++,我就只谈C++了。其实还有相当好的语言如:DELPHI、JAVA等,有精力还是去学学吧!其实语言并不是最重要,关键是面向该语言的开发工具、引擎、源码的数量会对将来的开发进程大有帮助。对于已经会MFC的人,“传奇的故事学VC编游戏”似乎是福音,因为它最后还是过渡到DirectX。 其次掌握一种工具,比如引擎、脚本等。引擎就是发动机的内核啦,你有什么好想法,就靠它来驱动实现。“工欲善其事,必先利其器”,与其在一个引擎上投入过多精力,不如比较选优,多搜索新的引擎,比如开发中的Novashell就不错,一旦公布源码,还是比较有力的。作者就是开源即时RPG游戏“DINK SMALLWOOD”的作者Seth A Robinson等。 引擎有的是面向游戏框架的,如POPCAP FRAMEWORK搭好了框架,剩下的由你来填充。有的是面向底层DirectX的封装,比如HGE、SDL、Allego、Y2GE等。有的本身就已经是个完整的游戏了,比如金点的圣II源代码游戏引擎,会对你很有帮助,实际上,你完全可以先抛掉其它的,从圣剑英雄传2开始,体会其开发思路,然后再利用一些引擎改善它。如果是想编即时战略游戏,可以看看Pptactical、stratagus等。 人工智能是你不得不掌握的一门技术,会使你的游戏倍放光彩,比如A寻路、攻击目标的选择、经济学、有限状态机、骨骼动画等,工具有OpenSteer、pathlib、micropather等。物理引擎也是,一旦拥有物理引擎你就不愿意丢掉它,比如Physics2D、Polycolly、flatland等。 如果学脚本,建议用LUA吧,WOW就是用它。同时提一下luabind工具。当然你也可以使用自己规定的脚本引擎。 XML技术不错,现在很流行,WOW、Novashell、POPCAP FRAMEWORK等都使用了。用它来管理游戏资源及资源调度很方便。 先在已有的简单代码上修改出自己的一个简单成形游戏是比较好的开端,至少可以鼓舞你,不要好高骛远,想一上来就怎么怎么的。借鉴现有的开源
比如:
1、人力资源机器(human resource machine)
《人力资源机器》这款游戏与大家以往所玩过的其他代码游戏都有所不同,虽然在分类上他属于一个益智策略类游戏,但是在玩法上他完全是以一个现实中真实存在的职业技能作为基础而改编的。在游戏中玩家要作为一个公司的小职员,来完成上司交给你的一些任务,而完成任务的方法就是要编写一个足以达成目标的程序,并且按照程序中的条件进行活动。本作所采用的编程方式其实是一种相当古老的方法,只是符合一般的计算机逻辑思维,想要用这款游戏来学习专业编程似乎没什么卵用,不过没有编程基础的人玩起来应该会感到不解和困惑,但是看自己所设定的程序可以按照预想的效果来完美运营的话,那股油然而生的成就感绝对会让自己的心情HIGH到爆炸。
2、康丁游戏CodinGame
CodinGame是一个游戏平台,游戏每一个练习背后的逻辑,都与一个实际的游戏相连,让你能够获得实时视觉反馈,你完成练习之后也能获得实际的奖励。
CoinGame支持23种不同的编程语言,其中的每一个游戏练习都可以选择自己熟悉的语言。在CodinGame平台,每一个练习都是基于浏览器的,会提供一个网络集成开发环境,让你不刷新网页就可以实时编译代码,并实时看到游戏的变化。目前,CodinGame已经吸引到了23万用户注册。
此前,公司已经从天使投资者募集了50万美元的资金。它们的竞争对手中包括了同样是创新型编程练习平台的CodeFights,以及类似Treehosue和Code School这类传统的编程学习网站。
3、代码战 CodeFights
CodeFights是一家将练习编程的过程变为游戏过程的初创公司。目前,该公司已经完成240万的种子资金,以发展实时社交游戏——在游戏中,码农们既可以选择人机对战模式,也可以选择挑战其它玩家。
CodeFights有JavaScript、Java、C++和Python编程挑战游戏,用户们需要完成找出Bug的挑战任务,胜利者就可以获得相应的徽章。
4、代码打猎Code Hunt
代码打猎(Code Hunt)是Microsoft旗下新出的一款教育游戏,对大家感兴趣编码编码基于浏览器的游戏。它供任何对编程有兴趣的人学习代码。该游戏呈现的方式并不是选择答案的学习题,而是提供了一个可编辑的类似编码界面,并在右边不断跳出程序的运行结果,测试运行结果是否符合要求。
#include<iostream>
#include<timeh>
#include<stdlibh>
using namespace std;
void main()
{
srand((unsigned)time(NULL)); //系统随机产生一个数值
int real=(int)(20000rand()/(RAND_MAX+10));
int guess;
int nCount=10;
while(nCount!=0)
{
cout<<"请输入你猜想的数据:";
cin>>guess;
nCount--;
if(guess<real)
cout<<"猜测的数值小了,你还有"<<nCount<<"次机会"<<endl;
else if(guess>real)
cout<<"猜测的数值大了,你还有"<<nCount<<"次机会"<<endl;
else
{
cout<<"恭喜你答对了,你仅仅用了"<<10-nCount<<"次就猜对了"<<endl;
nCount=0;
break;
}
if(nCount==0)
cout<<"10次机会用完了,你仍然没有猜对,正确答案是:"<<real<<endl;
}
}
系统会随机产生一个数值,注释那句为随机数种子,你也可以自己手动输入0到65535之间的数都行,要是手动输入的话,有注释的那句换成:
unsigned rdm;
cin>>rdm;
srand(rdm);
随机数的范围给你限制到了2000以内,大了不好猜,也可以自己改,把那个2000换成你想要的范围n,范围就是0~n
以上就是关于猜数游戏C语言程序设计全部的内容,包括:猜数游戏C语言程序设计、如何编程游戏、除了Codecombat 还有哪些编程游戏可以玩等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)