法上看,C#非常类似于C和Java,许多关键字都是相同的,C#也使用类似于C和C++的块结构,并用括号({})来标识代码块,用分号分隔各行语句。对C#代码的第一印象是它非常类似于C和Java代码。但在这些表面上的类似性后面,C#学习起来要比C++容易得多,但比Java难一些。其设计与现代开发工具的适应性要比其他语言更高,它同时具有Visual Basic的易用性、高性能以及C++的低级内存访问性。C#包括以下一些特性:
* 完全支持类和面向对象编程,包括接口和继承、虚函数和运算符重载的处理。
* 定义完整、一致的基本类型集。
* 对自动生成XML
文档说明的内存。
* 自动清理动态分配的内存。
* 可以用用户定义的特性来标记类或方法
* 对.NET基类库的完全访问权,并易于访问Windows API。
* 可以使用指针和直接内存访问,但C#语言可以在没有它们的条件下访问内存。
* 以VB的风格支持属性和事件。
* 改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用与ActiveX控件(COM组件)相同的方式由其他代码调用。
* C#可以用于编写ASP.NET动态Web页面和XML Web服务。
1.2 应用环境
(1).操作
系统:Windows NT、Windows XP、Windows 7
(2). 应用软件:Microsoft Visual Studio 2008
第二章 游戏需求分析
2.1 需求分析
本游戏用户可以自己练习和娱乐。本游戏需要满足以下几点要求:
(1) 利用方向键"W、A、S、D"来改变蛇的运行方向。
(2) 空格键暂停游戏,并在随机的地方产生食物。
(3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。
(4) 用户可以根据需要暂停或播放背景音乐,以及根据水平选择不同的游戏难度。
2.2 可行性分析
贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。
贪吃蛇的核心算法是如何实现蛇的移动和吃掉食物后如何变成新的蛇体。没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始及背景音乐的播放。
玩家可以根据自己的水平选择不同的级别进行游戏挑战。当每个级别的分数达到200后,会提示玩家选择进入下一关进行更高难度的挑战。
第三章 程序概要设计
3.1 设计目标
本软件是针对贪吃蛇小游戏的C#程序,利用方向键来改变蛇的运行方向,空格键暂停游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行,背景音乐可以暂停或播放。
3.2 程序功能模块
游戏大体框架如下所示:
图-1 游戏大体框架
第四章 程序详细设计
4.1 程序设计
1.游戏启动窗口
此窗口为进入游戏的欢迎界面,在任务栏上不显示图标。
窗口界面截图如下:
图-2 游戏启动窗口
主要功能代码如下:
private void 启动窗口_L
oad(object sender, EventArgs e)
{
//设置启动窗体
this.FormBorderStyle = FormBorderStyle.None;
this.BackgroundImage = Image.FromFile("贪吃蛇.Jpg");
this.timer1.Start();
this.timer1.Interval = 1500;
}
private void timer1_Tick(object sender, EventArgs e)
{
//关闭启动窗体
this.Close();
}
private void 启动窗口_FormClosed(object sender, FormClosedEventArgs e)
{
//关闭定时器
this.timer1.Stop();
}
2.游戏主菜单窗口
此窗口为进入游戏与否及获取游戏帮助的界面,选择"帮助"按钮可以获得游戏相关操作的帮助,选择退出可直接退出游戏,选择进入游戏则可以开始游戏。主菜单窗口和帮助窗口都会在任务栏上显示图标。
窗口界面截图如下:
相关热词:cnet 贪吃 游戏 设计 论文