猜数字游戏论文设计
什么牌子笔记本最好-春节小报资料
猜数字游戏论文设计
课题名称:计算机C语言猜数字游戏设计
院 系:电子工程系
班
级:___________
时 间:____________
1
一:内容摘要
猜数字游戏是一种智力游戏。
首先由程序
随机产生一个数字,玩家随后输入一个数字猜测。若输入的数字与随机
产生的数字相同则为猜测成功,游
戏结束。
本猜数字游戏在VC++6.0环境下用C语言编写。游戏分三个难度等级,分别为容易,<
br>中等,最难。以猜测次数最大上限为难度判断依据。
游戏主体部分为输入猜测部分,由几个循环语句完成。其余部分包括:
输入输出部分,
数字拆解部分,
随机数产生部分,
判断部分。
Guess Number Game is a class of
intellectual game.
First,the computer
program generate a number at random,like a player
input a
number,like A equals B,the player is
succeed,and the game is over.
Now this
computer program compiled under the Microsoft
Visual C++ are
three different levels ,that
is:easy,general, the MAX number to judge
which level a player played on..
The
body Part of this game is how to input and here
we use several do loops to
complete al parts
are follows:
Input and output part,
Number disassemble part,
Random generate
part.
judge part.
二:目录
封面————————————————————————1
内容摘要——————————————————————2
设计人员——————————————————————2
课程设计介绍————————————————————3
设计方案——————————————————————3
流程图———————————————————————4
编写过程中遇到的问题————————————————4
心得体会——————————————————————4
运行结果截图————————————————————5
源代码———————————————————————5
2
二:设计人员
姓名
学号
指导老师
班级
三:课程设计介绍
研制C语言的初衷是为描述和实现操作系统提供的一个语言工具,并且最初只是在
贝尔实验室内部使用。
1970年,Ken
Thompson(贝尔实验室的研究人员)在BCPL语言的基础上开发了一
个新语言,命名为“B”。1971年Dennis e(贝尔实验室研究人员)在B语言的基
础上改进和开发出新的语言命名为“C”。1973年他们两人合作把UNIX操作系统全部用
C语言重写一遍,为UNIX的移植和推广奠定了基础。但是,知道1975年UNIX的第六
版公布之后,C语言才从内部走向社会而成为大家推崇的通用语言。
由于C语言的移植性好,对硬件的控制能力强,既有高级语言的主要功能又有汇编
语言的特点,因而既可以作为不同领域从事应用开发的通用语言工具,又可以作为系统
程序设计的语言,现在不仅系统程序员已普遍采用C语言作为他们的开发工具,而且越
来越多的专门领域的程序员从使用Fortran,Pascal语言转向使用C语言。
学好C语言是通向C语言程序员的前提,通过此次课程设计使学生达到提高动手能
力和理解C语言程序一般的设计方法的目的。
四:设计方案
设计一个游戏系统,游戏规则如下:
一,输入一个数字,范围在1000-9999之间,系统利用随机数产生器产生数字。
二,如果玩家输入的不是系统要求的数字,系统将提示您,您输入的数字不对,请重新
输入。
三,如果输入过大,系统将提示您,输入过大。
四,如果输入过小,系统将提示您,输入过小。
五,若输入正确,提示玩家猜对。
六,系统计数输入次数,亦即猜测次数。
七,若超过猜测次数上限或者猜对,游戏结束,退出程序。
3
五:程序流程图
上图为流程图。
程序首先由玩家选择一个级别,若级别错误,将退出程序。
选择级别成功,则初始化随机数产
生器,产生四位随机数。进入循环,开始猜数字游戏。
此为程序主体部分,如设计方案所述,这里不再赘
述。
猜测过程中,玩家输入的数可能大于9999或者小于1000,因此可能出现BUG,然而此程序采用的分离数字算法为整除法,不会引起除数为零问题,因此此种情况下,只会让玩
家痛失一
次宝贵的猜测机会而不会让程序崩溃,因此并没有画蛇添足,增加输入数字范围判
断功能。
程序结束,退出程序。
六:编写过程中遇到的问题
一:C语言是一门很微妙的语言,讲究细节。初次设计的时候,经常犯各种语法错误,以及<
br>相关的库函数引用错误。
二:对程序流程图的重要性认识不够,导致编写过程中走了很多弯路。
三:调试方法不是很熟悉。
4
七:心得体会
C语言是一门用途相当广泛,很有
前景的语言,应当用心学习,悉心领悟,为将来的发
展奠定坚实的基础。
八:运行结果截图
九:源代码
5
#
include
# include
#
include
int main()
{
int i=0,n=0,k=0,f=0;
int
b[4]={0},c[4]={0};
int panduan[4];
int d;
printf(猜数字游戏,请输入难度级别n 1.容易n 2.中等n
3.最难n
scanf(
printf(您选择了级别%3dn
switch(n)
{
case 1 :
i=40;break;
case 2 : i=30;break;
case 3 : i=20;break;
default:
{printf(不存在此级别
}
产生随机数
srand( (unsigned)time( NULL ) );
c[0]=rand()%10;
c[1]=rand()%10;
c[2]=rand()%10;
c[3]=rand()%10;
printf( %d %d %d
printf(猜数字游戏开始,请输入一个四位数n
for(d=0;d {
f=0;
输入
scanf(
6
分离数字
b[0]=f1000;
b[3]=f%10;
b[2]=((f-b[3])10)%10;
b[1]=((f-b[3]-10*b[2])100)%10;
for(k=0;k<4;k++)
{
printf(
}
printf(
for(k=0;k<4;k++)
{
panduan[k]=0;
}
for(k=0;k<4;k++)
{
if(b[k]==c[k])
{
panduan[k]=1;
printf(第%d个数正确n
}
if(b[k]
printf(第%d个数过小n
}
if(b[k]>c[k])
{
printf(第%d个数过大n
}
}
if(panduan[0]&&panduan[1]&&pandua
n[2]&&panduan[3])
{
printf(恭喜你,猜对了!n
getchar();
exit(0);
}
7
}
return 0;
}
8