用C_做的贪吃蛇游戏毕业设计论文.docx
用C_做的贪吃蛇游戏 毕业设计论文 课题名称:贪吃蛇游戏的设计与实现院(系): 专业:计算机科学与技术 学生姓名: 学号: 指导教师: 2022年6月 摘要 C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。 “贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。本文基于C#技术和.NET Framework开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。整个游戏包括开始、暂停、结束、音乐的播放及关数的选择等功能。通过本游戏的开发,达到学习C#技术和熟悉软件开发流程的目的。 本文在介绍C#相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个生命周期的各个开发阶段进行了详细地介绍。首先,分析了开发本游戏软件的可行性,重点分析本设计所采用的技术的可行性。其次,从游戏主界面等几方面,分析了本游戏的功能需求;从可使用性和安全性方面分析了属性需求。然后,进行了游戏的概要设计和详细设计,这也是本文的重点。本文还介绍了游戏软件的程序调试过程和功能测试结果。 关键词:C#;.NET Framework;“贪吃蛇”游戏 目录 第一章游戏开发环境 (1) 1.1 开发工具 (1) 1.2 应用环境 (2) 第二章游戏需求分析 (2) 2.1 需求分析 (2) 2.2 可行性分析 (2) 第三章程序概要设计 (2) 3.1 设计目标 (2) 3.2 程序功能模块 (3) 第四章程序详细设计 (4) 4.1 程序设计 (4) 第五章游戏测试 (21) 5.1 测试的意义 (21) 5.2 测试过程 (21) 5.3 测试结果 (21) 参考文献 (22) 第一章游戏开发环境 1.1 开发工具 C#(读做"C sharp")中文译音暂时没有.专业人士一般读"C sharp",现在很多非专业一般读"C井"。 C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。 并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Pascal、Java、VB等。 Microsoft在正式的场合把C#描述为一种简单、现代、面向对象、类型非常安全、派生于C和C+的编程语言。大多数独立的评论员对其说法是“派生于C、C+和Java”。这种描述在技术上是非常准确的,但没有涉及到该语言的真正有点。从语法上看,C#非常类似于C和Java,许多关键字都是相同的,C#也使用类似于C和C+的块结构,并用括号()来标识代码块,用分号分隔各行语句。对C#代码的第一印象是它非常类似于C和Java代码。但在这些表面上的类似性后面,C#学习起来要比C+容易得多,但比Java难一些。其设计与现代开发工具的适应性要比其他语言更高,它同时具有Visual Basic的易用性、高性能以及C+的低级内存访问性。#包括以下一些特性: 完全支持类和面向对象编程,包括接口和继承、虚函数和运算符重载的处理。 定义完整、一致的基本类型集。 对自动生成XML文档说明的内存。 自动清理动态分配的内存。 可以用用户定义的特性来标记类或方法 对.NET基类库的完全访问权,并易于访问Windows API。 可以使用指针和直接内存访问,但C#语言可以在没有它们的条件下访问内存。 以VB的风格支持属性和事件。 改变编译器选项,可以把程序编译为可执行文件或.NET组件库,该组件库可以用 与ActiveX控件(COM组件)相同的方式由其他代码调用。 C#可以用于编写 动态Web页面和XML Web服务。 1.2 应用环境 (1)操作系统:Windows NT、Windows XP、Windows 7 (2). 应用软件:Microsoft Visual Studio 2022 第二章游戏需求分析 2.1 需求分析 本游戏用户可以自己练习和娱乐。本游戏需要满足以下几点要求: (1)利用方向键“W、A、S、D”来改变蛇的运行方向。 (2)空格键暂停游戏,并在随机的地方产生食物。 (3)吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。 (4)用户可以根据需要暂停或播放背景音乐,以及根据水平选择不同的游戏难度。 2.2 可行性分析 贪吃蛇游戏是一种简单的大众的游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。 贪吃蛇的核心算法是如何实现蛇的移动和吃掉食物后如何变成新的蛇体。没有碰到食物的时候,把当前运动方向上的下个节点入队,并以蛇节点的颜色绘制这个节点,然后把头指针所指的节点出队,并以游戏框架内部背景色重绘出队的节点,这样就可以达到移动的效果。而在吃到食物的时候,则只需把食物入队即可。实现贪吃蛇的基本的蛇身移动、吃到食物身体增长、和碰到墙壁或自身死亡,能够暂停和开始及背景音乐的播放。 玩家可以根据自己的水平选择不同的级别进行游戏挑战。当每个级别的分数达到200后,会提示玩家选择进入下一关进行更高难度的挑战。 第三章程序概要设计 3.1 设计目标 本软件是针对贪吃蛇小游戏的C#程序,利用方向键来改变蛇的运行方向,空格键暂停 游戏,并在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行,背景音乐可以暂停或播放。 3.2 程序功能模块 游戏大体框架如下所示: 图1 游戏大体框架 键盘控制蛇运动 蛇吃食物 吃一个加分,当分数达到时,提示进入下一关 开始 暂停 蛇开始运动 蛇暂停运动 游戏启动界面 游戏主菜单 游戏窗口 结束 重新开始 显示 重新绘制蛇 显示分数 结束游戏动 下一关 进入下一关 第四章程序详细设计 4.1 程序设计 1.游戏启动窗口 此窗口为进入游戏的欢迎界面,在任务栏上不显示图标。 窗口界面截图如下: 图游戏启动窗口 主要功能代码如下: private void启动窗口_Load(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(); .游戏主菜单窗口 此窗口为进入游戏与否及获取游戏帮助的界面,选择“帮助”按钮可以获得游戏相关操作的帮助,选择退出可直接退出游戏,选择进入游戏则可以开始游戏。主菜单窗口和帮助窗口都会在任务栏上显示图标。 窗口界面截图如下: