物必须在规定的围墙内,用坐标来确定食物的位置.开始随机取一定范围内 的坐标,让其食物在蛇能达到的范围内.用随机计数器和矩形函数画出食物. 蛇头刚好与食物完全对和时,清除食物,使蛇身加一.再随机画出食物. 3 速度扩充 等级扩充 颜色变化扩充 声音扩充 速度、等级、颜色的变化分别由3个全局变量来实现。 声音则由编写的函数来实现。 int gamespeed=500000;int grade=1;int t=1; ……… GamePlay() { …… if(snake.x[0]==food.x&;&;snake.y[0]==food.y)/*吃到食物以后*/ {Sound();/*发出声音*/ setcolor(0);/*把画面上的食物东西去掉*/
…… score+=10; if(score%100==0) { grade++;/*等级加一*/ gamespeed-=1000;/*速度加快*/ t++;/*颜色值加一*/ } PrScore();
9
工 计算机科学与技术学科 《C语言程序设计》课程设计阅读报告
}
setcolor(t);/*用新颜色画出蛇*/ for(i=0;i
}
3 设计结果与分析
1 开始界面
此时你按下任何键将进入下一界面,开始游戏。 2 游戏界面 这个界面是游戏的核心界面和大部分算法的所在地。界面实现蛇的变色,蛇 身加长,蛇吃到食物时发声等。
10
工 计算机科学与技术学科 《C语言程序设计》课程设计阅读报告
此时没按键 蛇将自动向右运动。
按下方向键控制蛇的运动,蛇吃到食物则发出声音,score+=10,蛇身加一。若 碰到墙壁或自身,游戏将跳出。
3 中断界面
此界面提醒你是否继续游戏,若此时你按下Y/y键将跳回游戏;否则结束游戏。
4 结束界面
11
工 计算机科学与技术学科 《C语言程序设计》课程设计阅读报告
此界面是当你的等级为一时所出现的界面。 程序根据你的得分作出一个简单的判 断。也就是说不同的分数评价将不同,页面显示内容也就有所不同。
5 等级不同颜色将不同
蛇身的变化色有14种,每升一个等级,蛇身颜色变化。当等级达到15时,蛇身 颜色变化又从头开始。
6 补充说明
界面的输出内容因玩家所得分数和所在等级决定, 不同的分数段将输出不同 的结果。但只是文字的改变,不需再做示例。
4 设计体会与建议
贪食蛇游戏是一个实现图形文本和图象的输出与图形更替的简单实用游戏应用 程序。 该游戏程序采用了一般的思考模式(开始——游戏——
中断
12
工 计算机科学与技术学科 《C语言程序设计》课程设计阅读报告
——结束),引进结构化程序设计思想与方法,按照自顶向下,逐步求精的方法 对系统进行了模块分化, 建立各模块之间的关系,并采用了流程图对整体和部分 算法进行了描叙。此游戏采用的等级、颜色、速度随分数变化的规则算法简单, 容易理解,使游戏具有风趣。
游戏程序不足的是没能加上时间的限制。若是加上时间的限制,游戏将变 得更加具有趣味性。
通过此次课程设计, 让我了解和逐步掌握了课程设计的要求以及设计方法, 为以后更好地作好课程设计打下基础。另外,这次设计锻炼了我的科学思维,增 进了我对事物任知的全面性,充分发挥了我的想象力。从扩充的功能中,我真正 领悟到数学在学习计算机这门学科中的重要地位。再者,时间的执长磨练了我的 耐性,我相信这将为我以后的生活创建一个美好的开始。
最后的实现结果即使不太理想,但我从中学到了很多,下一次将作的更好。
5 参考文献
格式: [1]作者.文献题目.期刊名称.发表年份,卷(期):页码范围 如, [1]朱毅,张涛,宋靖雁.未知环境下势场法路径规划的局部极小问题研究.自动化学报.2010,36(8): 1122~1130
13
工 计算机科学与技术学科 《C语言程序设计》课程设计阅读报告
14