- 162
- 0
- 约7.62千字
- 约 17页
- 2016-12-06 发布于重庆
- 举报
c語言程序贪吃蛇课程设计报告
高级语言程序设计
课程设计报告
Experiment Designing reporter
课程名称 : 高级语言程序设计
英文名称 : C Program Experiment Designing
专 业 : 自动化 111
学 号 : XXX
姓 名 : XXX
指导教师 : XXX
日 期: 2012 年 6月 17日至 2011 年6 月 20 日
山东工商学院信电学院
一 : 课程设计内容
程序功能介绍
贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。void DrawK(void)
{
setcolor(11);
setlinestyle(SOLID_LINE,0,THICK_WIDTH);
for(i=200;i=500;i+=10)
rectangle(i,200,i+10,209);
}
然后要找到:改变蛇初始长度、颜色、初始位置的模块,改变苹果出现位置的模块,让蛇见墙死的模块,让蛇吃苹果加长的模块……….
并且进行分类,这样下次再想实现某个目标时,可以一目了然的进行改编。
对于找到的模块如何进行改编呢?怎么才能知道某个数值或函数代表什么呢?
我们有两个方法:
1.)看名字,比如snakecolor(),很明显他的意思是蛇的颜色。2.)控制变量猜想,比如设置墙的时候for(i=200;i=500;i+=10); rectangle(i,300,i+10,309); 中的200,500,300,209 代表什么呢? 我们可以猜想:它很像是坐标上的(x,y)的格式,是不是呢?可可以先让其他数值不变,只让309改变,改变后发现上面的墙变粗了,由此可见这个数字控制的是一堵墙的最下面一行的坐标。
关于该程序的 相关分析思路答题模板 :
1 . 贪吃蛇程序流程图 如下 :
二.贪吃蛇程序的改编 :
经过小组成员的认真研究 我们对其进行了 如下改编
第一步 加墙
void DrawK(void)
{
/*setbkcolor(MAGENTA);*/
setcolor(5); // 可以改变颜色
setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/
横向上的墙:
for(i=100;i=600;i+=10)// 本行代表行坐标上:100代表墙的初始位置,i=600代表墙的结尾。
{
rectangle(i,60,i+10,69); //本行代表纵坐标上:60代表墙的最上面一行的位置,69代表墙最下面一行的位置。69-60=9,9代表墙块的厚度
}
纵向上的墙:
for(i=100;i=400;i+=10)//本行代表纵坐标上:100代表墙的初始位置,i=400代表墙的结尾
{
rectangle(100,i,109,i+10); //本行代表纵坐标上:100代表墙的最左边面一行的位置,69代表墙最右面一行的位置。69-60=9,9代表墙块的宽度
}
我们认为本模块最重要的是for语句控制的坐标代表的意思。只要明白了坐标的意思,就可以实现对游戏的改编。
第二步 就是进行对新加入的墙蛇是否撞上死亡
让蛇撞墙死
if(snake.x[0]190snake.x[0] 510snake.y[0]=200 snake.y[0]=215) /*其中,对x,y范围的控制,实际是对蛇撞击的死亡区域的限制。*/
{
GameOver();/*本次游戏结束*/
snake.life=1; /*蛇死*/
}
相应的新添加的墙。
for(i=200;i=500;i+=10)/*画围墙*/
{
rectangle(i,200,i+10,209); /*指定位置*/
第三步食物的定点出现
if(food.yes==1)/*需要出现新食物*/
这里说明一下:rand() 产生0-65535的数,在limit
您可能关注的文档
最近下载
- 音体美教学常规要求.doc VIP
- (2025)新课标《义务教育数学课程标准(2022年版)》测试题(附含答案) .pdf VIP
- 质量工程师中级培训教程.doc VIP
- 高中英语(北师大版)必修3—单词表.pdf VIP
- Unit 1 Time to Relax (第1课时) Section A 1a- 2d 课件 2026年春人教版英语八年级下册.pptx VIP
- QE质量工程师培训完整版教材.ppt VIP
- 杜曼教育——如何教宝宝学数学.pdf VIP
- 香港小学中文修辞手法练习.pdf VIP
- 2025-2026学年初中数学八年级上册(2024)沪教版(五四制)(2024)教学设计合集.docx
- GNSS接收机抗干扰技术研究.pptx VIP
原创力文档

文档评论(0)