毕业论文提纲
一、 论文题目 贪吃蛇游戏(The greedy snake)
二、 简介 贪吃蛇游戏是一个经典程序,在八十年代初的苹果机上就十分流行。随着科技的发展,被移植到各种游戏机、PDA、和掌上电子设备.例如诺基亚手机(5110、3210、3330)就含有此游戏。我编制的游戏内容如下:在屏幕上设置一个窗口,在窗口内设置一些障碍,由玩家通过上下左右键控制蛇的行走方向。蛇吃到屏幕上出现的数字后就会变长,越长越难控制。如果吃完1到9共9个数字,则进入下一关,设置新的游戏场景。一旦碰撞到障碍物或蛇自已的身驱,蛇就死了,即游戏结束。 三、 开发背景 贪吃蛇游戏虽然是一款游戏软件,但它很具有代表性。通过对它的开发,将会对面向过程的结构化程序设计方法有一个全面掌握。把我们的专业课“软件工程”和“数据结构”所学的理论知识与实际结合起来。要解决一个现实问题“贪吃蛇”游戏,必须建立几个关键的数据结构,再围绕这几个数据结构建立核心算法。当然还必须用软件工程中学到的程序设计方法来指导设计程序,才能保证软件的开发质量和进度。游戏中还用到少量的计算机动画知识和电脑音乐,对我们所学知识也是一个补充。 四、 初步规划 (1) 界面的选择,游戏中使用的窗口、蛇、障碍物可以用图形方式实现,也可用文本方式。因图形开发太复杂,故选用文本字符方式来实现。将计算机屏幕设置其工作在25行,80列的模式0(screen 0)方式,用特殊字符“▊”来模拟蛇和障碍物,并用不同颜色来显示,以便于区分。游戏时,屏幕上随机可用坐标上依次出现数字1到9待蛇吃完这9个数字后进入下一关,下一关障碍物有所增多,来增加操作难度。 (2) 蛇的数据结构,将蛇定义为结构类型,包括蛇的头部位置、长度、横坐标、纵坐标、性命数、得分、颜色、等。 屏幕的数据结构,初步定义为数组,数组元素为行地址、列地址、颜色等。数量为25×80个 (3) 关键算法的介绍: 3.1 蛇的移动:当程序运行时,屏幕上好像有一条蛇在不停的走动,实际上每次变化的只是头和尾,每次重画一个蛇头,擦除蛇尾的内容就能实现动感效果。故设置一大数组,元素为行地址、列地址,数量为蛇的最大长度再加2。将以上数组作为队列使用,循环执行如下动作:将蛇头坐标入队,调整蛇身长度,找到蛇尾,按蛇尾提供的坐标删除屏幕上的内容,再按蛇头坐标在屏幕上画出蛇头的符号。 3.2蛇的变长处理:当蛇吃到屏幕上显示的数字时,只需根据数字来调整蛇身的长度,当蛇移动时会自动加长身体。调整游戏得分,并将数字加1,如果数字是最后的数字9则进入下一关。 3.3蛇碰撞障碍物的处理:将屏幕坐标数组中有障碍物的坐标的颜色设置为浅红色,无障碍物的坐标点颜色为蓝色,蛇头跨入的坐标点颜色是浅红色则蛇必死掉,将蛇标记为已死了,并将蛇的性命数减1,系统得知蛇已死后退出当前循环,重新开始游戏。
五、 其它事项 开发语言的选择,用软件工程来指导开发的程序都具有较强的移植性,结构化程序设计语言如pascal ; c; c++; qbasic; 汇编等都可作为开发工具,由于本人对qbasic 比较熟悉,故选用它作为开发工具较为适宜。
开发进度:设计阶段 一个月 编码:半个月 测试:一个月
附图:第一关场景及界面示意图。
附图:游戏第四关场景图
学生个人情况: 姓名:古道热肠 职业:21IC侃单片机斑竹 邮箱:xg_2004_sy@126.com QQ呢称:“古道热肠” MSN: I_Love_MCU@hotmail.com
相关链接:https://bbs.21ic.com/upfiles/img/200711/200711712219219.pdf
|