为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 打兔子游戏

打兔子游戏

2018-04-18 13页 doc 30KB 40阅读

用户头像

is_614050

暂无简介

举报
打兔子游戏打兔子游戏 计算机程序设计(C语言) 课程设计报告 题目:打兔子游戏 学院: 专业: 班级: 姓名: 指导教师: 设计日期: 一、选题背景: 这是一个小游戏的程序,非常简单,但是很有趣味,可以在上网累了的时候玩一玩,能缓解你大脑的疲劳,也可以在学习学累的时候,放松一下自己,锻炼一下自己的思维,让你变得更敏捷。手脑并用。因为C语言学的不是很好,所以上网借签了很多知识,费了很多周折这篇设计终于诞生了。这是一个打兔子的游戏,由于刚学习C语言,所以程序较简单`易懂。 二、设计思想: 本程序主要是由于平时的课程...
打兔子游戏
打兔子游戏 计算机程序设计(C语言) 课程设计 目:打兔子游戏 学院: 专业: 班级: 姓名: 指导教师: 设计日期: 一、选题背景: 这是一个小游戏的程序,非常简单,但是很有趣味,可以在上网累了的时候玩一玩,能缓解你大脑的疲劳,也可以在学习学累的时候,放松一下自己,锻炼一下自己的思维,让你变得更敏捷。手脑并用。因为C语言学的不是很好,所以上网借签了很多知识,费了很多周折这篇设计终于诞生了。这是一个打兔子的游戏,由于刚学习C语言,所以程序较简单`易懂。 二、设计思想: 本程序主要是由于平时的课程枯燥无味,所以做个小游戏来丰富我们的课余生活,开始用初始化图形系统设计图形,用调用函数的形式,通过鼠标操作射击9个格中的代表兔子的R形字母,在一定的时间里打多少兔子就会获得胜利。 三,主要解决问题的方法及技术关键 1、 主要问题及解决方法(个人创新) 地图的定义:通过定义一个二维字符数组,并设定数组范围,定义地图。在intx,y之后通过if()来确定打兔子在屏幕上的最大坐标。通过for循环定义地图范围。 2、 技术关键 绘制地图 变量范围的定义 兔子的出现及改变 四、程序流程图 开 始 main()主函数 调用图形库函数 include"graphics.h () 调用函数 math.h 调用标准I/O函数() stdio.h 宏定义PI字符串() define PI 3.141596 for循环 输出图形 结 束 五、程序清单 #include #include #include #include #include #include /*Global Variable*/ int rabbit[3][3]={ {0,0,0}, {0,0,0}, {0,0,0}, }; union REGS regs; /*function's prototype*/ void initgr() { int gd=DETECT,gm=0; /* registerbgidriver(EGAVGA_driver);*/ /*register BGI driver */ /*registerbgifont(gothic_font);*/ /*register BGI font*/ initgraph(&gd,&gm,"c:\\tc"); } /*initialize the graphic*/ void cursor(int x,int y) { setcolor(WHITE); line(x,y,x,y+18); line(x+1,y,x+1,y+18); line(x,y,x+12,y+12); line(x+1,y,x+13,y+12); line(x,y+18,x+4,y+14); line(x,y+17,x+4,y+13); line(x+4,y+14,x+6,y+20); line(x+4,y+13,x+6,y+19); line(x+6,y+20,x+10,y+18); line(x+6,y+19,x+10,y+17); line(x+10,y+18,x+8,y+12); line(x+10,y+17,x+8,y+11); line(x+8,y+12,x+12,y+12); line(x+8,y+11,x+12,y+11); } /*this is the mouse's cursor,maybe a little ugly*/ int init(int xmi,int xma,int ymi,int yma) { int retcode; regs.x.ax=0; int86(51,®s,®s); /*with int86*/ retcode=regs.x.ax; if(retcode==0) return 0; regs.x.ax=7; regs.x.cx=xmi; regs.x.dx=xma; int86(51,®s,®s); regs.x.ax=8; regs.x.cx=ymi; regs.x.dx=yma; int86(51,®s,®s); return retcode; } /*initialize the mouse*/ int readmouse(int *mx,int *my,int *mbutt) { int xx0=*mx,yy0=*my,but0=0,mb=0; int xnew, ynew; do { regs.x.ax=3; int86(51,®s,®s); xnew=regs.x.cx; ynew=regs.x.dx; *mbutt=regs.x.bx; } while(xnew==xx0 && ynew==yy0 && *mbutt == but0 ); *mx=xnew; *my=ynew; mb=(*mbutt); if(mb) { if(mb==1) return 1; else return 0; } else return 0; } /*read the mouse action*/ void newxy(int *mx,int *my,int *mbutt) { int ch,xx0=*mx,yy0=*my,x,y; int xm,ym; ch=readmouse(&xm,&ym,mbutt); if(xm!=xx0||ym!=yy0) { switch (ch) { case 0: cursor(xx0,yy0); cursor(xm,ym); break; case 1: cursor(xx0,yy0); cursor(xm,ym); break; } /*paint the cursor when invoke the mouse's action*/ *mx=xm; *my=ym; } /*mouse event handling*/ } int Random() { int aa; int i,j; struct time t; gettime(&t); i=t.ti_min+t.ti_hour+t.ti_sec+t.ti_hund; /*generate the random integer with the help of time.h*/ for(j=0;j=1) { miss++; setwritemode(COPY_PUT); setcolor(YELLOW); setfillstyle(SOLID_FILL,YELLOW); bar(220+col*60+2,150+row*60+2,220+col*60+58,150+row*60+58); setcolor(LIGHTGRAY); setfillstyle(SOLID_FILL,LIGHTGRAY); bar(590,250,650,280); itoa(miss,str1,10); setcolor(RED); settextstyle(0,0,1); outtextxy(590,250,str1); cursor(x,y); setwritemode(XOR_PUT); cursor(x,y); row=Random()%3; col=Random()%3; gettime(&t1); } newxy(&x,&y,&button); if(button==1) { if((x-220)/60==col&&(y-150)/60==row) { score++; setwritemode(COPY_PUT); setcolor(LIGHTGRAY); setfillstyle(SOLID_FILL,LIGHTGRAY); bar(590,210,650,220); itoa(score,str,10); setcolor(RED); settextstyle(0,0,1); outtextxy(590,210,str); setcolor(YELLOW); setfillstyle(SOLID_FILL,YELLOW); bar(220+col*60+2,150+row*60+2,220+col*60+58,150+row*60+58); setwritemode(XOR_PUT); cursor(x,y); row=Random()%3; col=Random()%3; gettime(&t1); } /*you hit it!*/ else if(((x>570&&x<620)&&(y>365&&y<385))||((x>629&&x<639)&&(y>1&&y<11 ))) { closegraph(); exit(0); } } } } 六、设计结果说明 1、 设计优点:运用了所学的知识较巧妙的从直观上达到了操作。而该程序效果简单, 容易理解,操作简便。 2、 设计不足:由于对知识的了解程度有限,有些功能的实现还不够简单。本程序仅能 应用于字符界面,感观效果不好。鉴于篇幅有限,程序难度不够。需要在以后的学 习中不断完善。 。
/
本文档为【打兔子游戏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索