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