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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。