贪吃蛇游戏课程设计实验报告
- 格式:doc
- 大小:999.50 KB
- 文档页数:26
辽宁科技大学课程设计说明书
设计题目:基于C#的贪吃蛇游戏
学院、系:装备制造学院
专业班级:计算机科学与技术
学生姓名:***
指导教师:**
成绩:
2015年12月12日
目录
一、概述 (1)
1、用C#实现该设计的方法 (1)
2、贪吃蛇游戏说明 (1)
二、实验目的及设计要求 (1)
1、实验目的 (1)
2、实验要求 (2)
三、课程设计具体实现 (2)
1、概要设计 (2)
1.1、设计思想 (2)
1.2、主模块实现 (2)
1.3、主函数流程图 (4)
2、详细设计 (5)
2.1、设计思想 (5)
2.2、具体模块实现: (5)
四、调试过程及运行结果 (10)
1、调试过程 (10)
2、实验结果 (11)
五、实验心得 (12)
六、参考资料 (13)
七、附录:源代码 (13)
一、概述
1、用C#实现该设计的方法
首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。
根据流程图编写好代码后在WindowsXP操作系统,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。
2、贪吃蛇游戏说明
游戏操作要尽可能的简单,界面要尽可能的美观。
编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。
具体要求有以下几点:
(1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;
(2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面;
(3)说明书、流程图要清楚;
二、实验目的及设计要求
1、实验目的
.NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握;
提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质;
培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新
1
月异的发展形势;
本次课程设计是以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,做出设计报告。
2、实验要求
利用Microsoft Visual Studio 2008 平台设计制作一个贪吃蛇小游戏,要求如下:
(1)能够记录游戏成绩(计分按照每吃一块食物增加20累计)
(2)可以暂停/继续游戏(通过按钮实现)
(3)蛇的身体能够随着吃到食物的数量逐渐变长
(4)可以自己添加障碍物,要求设计成红色墙壁
(5)积分每增加50分要求蛇相应的加快速度
(6)要求在游戏的过程中添加背景音乐和随机炸弹
三、课程设计具体实现
1、概要设计
1.1、设计思想
程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头(绿色)用三节表示。移动时必须从蛇头开始,所以蛇不可以向相反的方向移动,如果不按任意键,蛇自行在当前方向右前移,但按下有效方向键后,蛇头朝该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇,同时还定义了一个随意的墙。然后利用图形驱动,,制作美观的游戏界面,通过随机函数产生随机的食物,控制游戏过程食物的出现。定义键盘操作控制游戏过程蛇的移动方向,画出边界,并判断游戏是否结束,统计游戏过程中蛇吃的食物数量,计算并输出游戏成绩。
1.2、主模块实现
1.snake的设计模块
2
2. Form 的设计模块
3
1.3、主函数流程图
是
开始游戏
蛇开始移动
根据键盘控制蛇移动方向
判断蛇头和
食物的坐标
是否重合
随机生成下一个食物
判断蛇头和
自身及墙、炸
弹是否重合
游戏结束
否
否
是
是
暂停
是否继续
否
4
2、详细设计
2.1、设计思想
首先进入VS2008打开文件新建一个项目,点击windows窗体应用程序,名字设为Snakes 。进入Form的设计界面,首先我们都知道游戏最基本的功能有开始,暂停,继续,退出,所以首先要先加4个button键来控制游戏,再加一个TextBox文本框来显示成绩。在窗体中加入Panel来实现贪吃蛇的运动空间,设置有一个游戏的界面运动空间。之后就要定义一个sakes 类,来实现蛇的一些属性与方法,首先明白这个游戏实现的是贪吃蛇吃食物,所以还需要定义食物,食物被吃后要实现食物的重建。玩游戏时还需要有控制键的设置,这一模块可以选用Switch语句来实现。实现基本的功能后要注意怎样的情况会造成蛇的死亡,可以想到的有越界线,咬到自己都会死亡。随着思想的成熟,觉得只吃食物好像太简单,所以在这个贪吃蛇游戏的基础上又设置了一些障碍,加了几堵墙,还设置了随机的炸弹,这样游戏就更有意思了,加上以前玩俄罗斯方块的一些感觉,还设置了游戏的不断加速的模块。
2.2、具体模块实现:
1、snake 属性定义
2、Form 属性定义
5