- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计--数字记忆报告
C语言课程设计
课题分析
—介绍课题的内容,分析课题的重点、难点
课题内容:我们这次课程设计是做一个数字记忆的小游戏,游戏内容也就是当系统随机给出几个数字后,玩家在规定时间内对其进行记忆,并在下一个界面写出你所记住的数字。如果记忆正确则增加一个数字记忆继续游戏,直到玩家记对所有数字或者记忆错误则游戏结束。(本游戏最多记忆数字定为8个)。
课题重点:美化游戏界面,系统随机给出数字,判断系统给出的数字与玩家输入的记忆数字是否相同,不同则输出正确答案。相同则增加难度继续游戏。
课题难点:美化游戏界面(因为这是第一次做课程设计,TC下我们还没学过画图)。判断系统给出的数字与玩家输入的数字是否相同,玩家输入数字时如何使两个数字组成一个两位数显示在一块格子里。
程序概要设计
——介绍编程所用到的工具,编程语言,程序的结构,以及所使用到的技术
这次课程设计的编程语言是C语言,用到的编译器是TC,
程序结构如下:
程序详细设计
——对程序各个部分的代码做详细介绍。并对所使用的算法,函数等做详细的介绍。
具体代码如下:
#includestdio.h
#includegraphics.h
#includemalloc.h
#includestdlib.h
#includetime.h
#includestring.h
#define MAX 8 /*设最大的数字个数是8个*/
void init(void) /*该函数的功能是为了画出周围的那个背景矩形*/
{
setcolor(LIGHTRED);
setlinestyle(0,0,3);
line(100,50,540,50);
line(100,50,100,420);
line(100,420,540,420);
line(540,50,540,420);
setlinestyle(0,0,0);
}
int main()
{
int a,b,i,j,size,ch,temp,side;
char s[30],out[7],in[7],c;
void*p=NULL;
a=DETECT;
initgraph(a,b,);
setbkcolor(BLUE);
/*准备工作:复制出一个小矩形,方便后面粘贴*/
size=imagesize(150,150,180,180); /*初始出复制图形的大小*/
rectangle(150,150,180,180) ; /*初始出一个合适的矩形*/
p=malloc(size);
if(!p)return;
getimage(150,150,180,180,p); /*复制出图形*/
cleardevice(); /*因为是准备工作,所以要清屏*/
/*欢迎界面*/
init();
setcolor(RED);
settextstyle(1,0,0);
outtextxy(240,200, welcome!);
settextstyle(1,0,3);
outtextxy(180,250, press anything to start!);
getch();
cleardevice();
init();
settextstyle(0,0,0);
/*游戏开始!*/
j=3; /*初始开始的时候是三个数字*/
while(jMAX)
{
cleardevice();
init();
setcolor(RED);
outtextxy(120,105, Please remember the following (1--100) figures:);
srand(time(0)); /*确保每次运行产生的随机数不一样,用时间作随机种子*/
setcolor(GREEN);
for(i=0;ij;i++) /*每次产生j个矩形和随机数*/
{
putimage(120+50*i,120,p,COPY_PUT); /*输出开始时复制的矩形*/
ch=rand()%99+1; /*产生随机数*/
out[i]=ch; /*将随机数存放在字符数组中,方便输入输出的比较*/
sprintf(s,%d,ch); /*将ch存放在s字符数组中*/
outtextxy(128+50*i,130,s); /*将数字输出在屏幕上的矩形中*/
sleep(1); /*延迟一秒,方便玩家记忆*/
}
out[j]=\0;
outtextxy(120,180, You
文档评论(0)