C课程设计贪吃蛇游戏.doc
文本预览下载声明
C#课程设计
PAGE
PAGE 3
一、课程设计的目的和要求
1.通过C#课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出类,并掌握继承与派生,基类、虚方法和抽象方法和多态性的概念。
2.通过这次课程设计掌握《C#语言程序设计》的编程思想,为后续课程打下基础。
3.培养我们实际操作能力和实践能力,为以后的工作打下坚实的基础。
二、课程设计内容
编写一个C# GUI版贪吃蛇小游戏程序
我们的需求是:
一条蛇在封闭的围墙内爬行,玩家可以通过方向键来控制蛇的运动方向,围墙内随机出现一食物,蛇头碰到食物时表示食物被吃掉,此时蛇身加长一节,同时游戏成绩加10分,接着又出现食物等待蛇吃周而复所,直到蛇撞墙或身体交叉而死游戏结束。
基本要求:
要求利用C#完成游戏的设计
要求在设计过程中建立清晰的类层次
程序应具有容错功能
程序界面美观,逻辑层次清楚,结构合理,文档清晰
三、课程设计基本要求
1)????要求利用面向对象的方法以及C#的编程思想来完成系统的设计;?2)????要求在设计的过程中,建立清晰的类层次;?3)????在系统中至少要定义四个类,每个类中要有各自的属性和方法;?4)????在系统的设计中,至少要用到面向对象的一种机制。
5) 程序应具有容错功能。
程序运行结果正确,操作方便,界面美观,逻辑层次清楚,程序结构合理,文档规范清晰。
目录
1:需求分析
1.1程序功能说明
1.2程序设计的分析
2:系统的主要功能模块
2.1程序功能图示
3:程序的输入,输出和相应的算法
3.1程序的输入
3.2程序的输出
3.3程序的一些重要方法的实现算法和方法
4:程序的测试
4.1程序测试的内容和结果
5:程序运行效果图
6:部分程序代码
6.1 蛇类代码
6.2 食物类代码
7:程序的注意事项
8:程序的不足之处
一:需求分析
1:程序的功能说明:
一条蛇在封闭的围墙内爬行,玩家可以通过方向键来控制蛇的运动方向,围墙内随机出现一食物,蛇头碰到食物时表示食物被吃掉,此时蛇身加长一节,同时游戏成绩加10分,接着又出现食物等待蛇吃周而复所,直到蛇撞墙或身体交叉而死游戏结束。
2:程序设计的分析
通过程序所要实现的功能可以看出,该程序中有,蛇,食物两个主要的对象,所以我们可以定义两个类:蛇类,和食物类;在蛇类中封装了蛇的所有的属性和操作。蛇的属性有:蛇的长度,蛇的初始位置,蛇的运动方向,蛇的存活状态,蛇的运动速度。蛇的操作有:蛇的移动,蛇吃食物,画出蛇所有的状态。 食物的属性有:食物的出现位置,食物的存活状态。食物类的操作:创建一个新的食物,画出食物的位置。在该程序中还有一个FROM类,用来画出和显示蛇和食物的状态和位置,该类提供给蛇和食物的运动平台,蛇和事物在该FORM的面板范围内运行。
程序中还有其他的功能要一一的实现。如:在用户点击“开始”
按钮后程序才能开始运行。用户如果点击“暂停”按钮,则该程序暂停,但并不终止程序,在用户再次点击“开始”按钮后,程序继续运行。如果程序运行结束,即程序出现“GAME OVER”,或用户点击“结束”按钮则程序结束,并且退出。在程序运行过程中,用户控制的蛇,每吃到一个食物,那么该玩家的得分就加10,并且还要记录该玩家总共吃了多少食物。如果玩家“GAME OVER”则要判断该玩家的得分是否大于最高分,如果大于,则提示该玩家获得了最高分。玩家可以查看最高分,玩家点击“显示”按钮则将显示最高分。
二:系统主要功能图示
系统主界面
系统主界面
开始
暂停
结束
重新开始
显示
键盘控制
蛇开始运动
蛇暂停运动
退出程序
蛇重新运动
显示最高分
吃食物
个数
得分
如果当前玩家得分大于之前的最高分,则将该玩家的得分设为最高分.
三:系统的输入,输出和相关算法.
1:输入:
在该程序中几乎没有什么从键盘输入的数据,所有的程序所运用的数据都是有程序本身提供的,由用户来选择,程序将根据用户的选择来处理相应的数据.,如在玩家选择游戏级别的时候,程序会根据玩家选择的级别来调整蛇的速度.
2:输出:
在该程序中,输出的数据有,玩家所得到的分数,蛇吃到的食物的个数,以及目前的最高得分.,当玩家所控制的蛇死亡后,要输出一个消息”GAME OVER”表示蛇的死亡,并且将蛇的生存状态改为false
,如果在玩家控制的蛇死亡后,并且玩家的得分已经超过了之前的最高分,则输出一个消息”恭喜你,创了新的记录”并且将该分记录为最高分. 以上是程序的主要的输出.
3:程序中的一些相关操作的实现方法和算法
1:蛇的移动.
蛇的移动主要通过的改变蛇的坐标位置,然后通过重绘蛇的
显示全部