




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贪婪蛇游戏程序设计报告蛇游戏设计名称:张力学号:完成日期:月份日期一、设计目的贪婪蛇游戏程序功能的实现主要建立在二维排列和图形接口的应用中,通过编写游戏程序可以熟悉相关排列和图形函数的运用,提高编程水平,增加编程兴趣二、总体设计主函数灬图形驱动程序Init画面DrawK游戏的具体过程GamePlay图形结束Close灬游戏结束GameOver输出成绩PrScore三、详细设计(项目成员和分工、模块功能说明(函数功能、入口和出口参数说明、函数调用关系说明等)。主函数main () :定义要使用的常量、全局变量和函数的原型说明,调用Init ()函数初始化图形系统,然后调用DrawK ()函数绘制接口,调用GamePlay ()函数实现游戏的具体过程,游戏结束后画面接口函数DrawK () :主接口是密封的围墙,在水平方向和垂直方向上连续的宽度和高度为10单位的矩形的小四边形,用2个循环文字输出,水色,背景色设定为黑色。游戏的具体过程函数GamePlay () :算法过程:a .设定初始值。 为了不让食物出现在某个地方,设置随机数发生器,使之真的产生随机数。 首先,蛇只是蛇头,设定开始方向b .循环直到按下ESC键c .如果没有按钮,则循环执行。没有食物的话,食物会随机出现。食物的随机出现,因为蛇的坐标都是以10为模型,所以如果有食物的位置必须是10的倍数,就会显示食物,蛇会移动身体,根据蛇的方向改变坐标值,蛇会不会碰到墙壁判断蛇吃食物的方法是,蛇头的坐标和食物的坐标相等,蛇吃食物时,蛇的身体长一节,序列要素增加一个,身体的节数、分数都发生了相应的变化。在新位置画蛇。 每次移动时从最后一节到最后一节,将前一节的坐标分配给下一节的坐标,移动后用背景色删除最后一节即可。d .如果有键,识别键的值。 如果键是Esc键,则结束游戏,结束程序的执行。如果键是方向键,则根据该键改变蛇方向的变量direction的值,相反方向键无效。游戏结束函数GameOver () :游戏结束,清除屏幕,调用输出得分函数PrScore ()显示游戏结束。输出评分函数PrScore ()为了在指定的位置在sprintf ()中将整数变换成字符串,在outtextxy ()中输出,bar ()函数的应用会复盖原来的值。图表结束函数Close () :出现游戏结束信息画面时,按任意键关闭图形系统,退出程序。4、调试和测试:调试方法、测试结果分析和讨论、测试中遇到的主要问题和对策等在TC3.0环境中调试并运行源文件,发现游戏界面之前静止。五、源程序清单和执行结果:#include#include#include#include#include#include#define LEFT0x4b00#define RIGHT0x4d00#define DOWN0x5000#define UP0x4800#define Esc0x011b#define N 200/*定义全局变量*/int i,key;int score=0; /*分数*/int gamespeed=50000; /*游戏速度可以自己调整*/结构福德装模作样int x; /*定义食物的横轴*/int y; /*定义食物的垂直轴*/int yes; /*判断是否有食物的变量*/food; /*食物结构*/struct snake装模作样int xN;int yN;int node; /*蛇节数*/int direction; /*蛇的移动方向*/int life; 蛇的生命,0活,1死*/snake;void Init(void) /*图形驱动程式*/void Close(void) /*图形结束*/void DrawK(void) /*开始画面*/void游戏结束(void )/*游戏结束*/void GamePlay(void) /*游戏的具体流程*/void PrScore(void) /*输出成绩*/*图形驱动程式*/voidinit(voidinit )装模作样int gdriver=DETECT,gmode;initgraph (驱动器,gmode, D:TC30LIB );以下称为/*开始画面,左上角的坐标为(50,40 ),右下角的坐标为(610,460 )墙*/void DrawK(void )装模作样灯光绿色(setbkcolor )setcolor(11 )设置线样式(solid _ line,0,THICK_WIDTH) /*设置线型*/for(i=50; i=600; i=10)/*绘制墙*/装模作样rectangle(i,40,i10,49 )/*以上*/rectangle(i,451,i10,460 )/*以下*/以下称为for(i=40; i=450; i=10 )装模作样rectangle(50,I,59,i 10) /*左*/rectangle(601,I,610,i 10) /*右*/以下称为以下称为/*游戏的具体过程*/void GamePlay(void )装模作样randomize (); /*随机数发生器*/food.yes=1; /*1表示需要新食物,0表示食物已经存在*/snake.life=0; /蛇还活着 */snake.direction=1; /*方向右*/snake.x0=100; snake.y0=100; 蛇头snake.x1=110; snake.y1=100;snake.node=2; /*蛇节数为2*/PrScore (); /*输出得分*/可以重复while(1)/*游戏,然后按Esc键退出*/装模作样While (! kbhit()/*不按钮蛇自己动身*/装模作样if(food.yes=1)/*需要新的食物*/装模作样food.x=rand()0 60;food.y=rand()50 60;while(food.x!=0)/*食物随机出现后,为了使蛇能够被食用,必须对食物进行整形*/food.x;while(food.y!=0)food.y;food.yes=0; /画面上有食物。以下称为if(food.yes=0)/*画面上有食物的话就会显示出来*/装模作样setcolor (绿色)rectangle(food.x,food.y,food.x 10,food.y-10 )以下称为for(i=snake.node-1; i0; i-)/*蛇的一段接一段地前进*/装模作样snake.xi=snake.xi-1;snake.yi=snake.yi-1;以下称为/*1、2、3、4表示左右上下的4个方向,通过判断这些方向来驱动蛇的头部*/switch(snake.direction )装模作样case 1:snake.x0=10; break;case 2:snake.x0-=10; break;case 3:snake.y0-=10; break;case 4:snake.y0=10; break;以下称为/从蛇的第四节判断蛇是否自己吃。for(i=3; I 595| snake.y 0 55| snake.y 0 455 )/*确定蛇是否碰到墙壁*/装模作样GameOver (); /*游戏结束*/snake.life=1; /*蛇死了t! */以下称为if(snake.life=1)/*蛇死后跳出内循环,重新开始*/break;if (snake.x 0=food.xs snake.y 0=food.y )/*我吃过食物了*/装模作样setcolor(0) /*复盖画面上食物的颜色*/rectangle(food.x,food.y,food.x 10,food.y-10 )snake.xsnake.node=-20;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年碳酸镁行业竞争格局分析及投资前景与战略规划研究报告
- 2025-2030年电饼铛行业市场发展分析及投融资与风险研究报告
- 2025-2030年海洋能行业市场发展分析及前景趋势与投资战略研究报告
- 2025-2030年洗护用品行业风险投资发展分析及投资融资策略研究报告
- 2025-2030年汽车防爆膜行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年水泥管道市场市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年水彩颜料市场市场现状供需分析及投资评估规划分析研究报告
- 公共关系学课程内容试题及答案总结
- 2025-2030年智能网络摄像机产业市场发展分析及前景趋势与投资管理研究报告
- 2025-2030年新能源电动车产业发展分析及发展趋势与投资前景预测报告
- 静脉炎的分级及处理流程
- 2025年云南省大理州中考一模地理试题(原卷版+解析版)
- 软件转让合同协议书
- 药房药师劳动合同协议
- 专题08 自然灾害和地理信息技术- 2025年十年高考地理真题分项汇编(学生卷)
- 数学在生活中的奇遇
- 2024年金湖县事业单位招聘真题
- 2025年厨师职业技能鉴定高级试卷:餐饮企业品牌建设与推广
- 2024年浙江省仙居县事业单位公开招聘教师岗笔试题带答案
- 五年级数学下试卷及答案
- 2025年高考政治答题模板:选必修123主观题答题语言总结
评论
0/150
提交评论