贪吃蛇程序设计报告python_C某贪吃蛇程序设计报告.doc

《C#程序设计》课程设计

题 目: 贪吃蛇游戏

专 业: 计算机科学与技术11

学 号: 1133050122

姓 名: 李绍威

指导老师: 丁 宁

完成日期: 2014年10月26

成 绩:

目 录

1 前言2

2 需求分析2

2.1要求2

2.2任务2

2.3运行环境2

2.4开发工具3

3 概要设计与详细设计3

3.1程序功能3

3.2设计思想3

3.3设计总体流程图4

3.4设计的具体实现6

4 程序测试11

4.1测试内容与结果11

4.2程序运行效果图13

5 课程设计总结16

参考文献16

附录17

1 前言

用C#语言实现贪吃蛇界面游戏以达到一下三个实验目的:

1、复习、VC#.NET的基础知识,进一步加深对VC#.NET技术的理解和掌握;

2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力;

3、培养学生在项目开发中团队合作精神、创新意识及能力。

2 需求分析

2.1实验内容

贪吃蛇游戏开发,首先它可以为大家提供一种当前比较流行的休闲小游戏。贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着很多人,它的制作方法对于很多同学而言都是很神秘的。所以我们希望通过这学期所学知识把它剖析开来,真真正正的了解它的本质和精髓。在这次学习中我们将从实践和实际的项目中提高自己的编程能力。因此决定选择这个题目作为VC#.NET的课程设计。

最后一部分就是游戏的模块划分,根据分析,贪吃蛇这个程序一共要实现如下几个功能,包括游戏方面开始游戏、暂停游戏以及停止游戏,游戏设置(蛇的颜色、食物的颜色、游戏难度设置),游戏帮助(游戏控制说明)与积分。

2.2实验要求

1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;

2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面;

3)说明书、流程图要清楚;

4)记录设计情况(备查,也为编写设计说明书作好准备)

2.3运行环境

(1)WINDOWS7系统

(2)VS.NET开发环境

2.4开发工具

C#语言

3 概要设计与详细设计

3.1程序功能

1)游戏选项:主要实现游戏的开始、暂停、退出,分别可以使用快捷键F2、空格键、F4。

2)设置:

游戏难度等级设置:初级、中级、高级三个难度等级,每个难度等级又实现了三级加速,主要包括一级加速、二级加速、三级加速;

蛇体颜色设置:绿色、红色、蓝色、黑色四种颜色可以选择;

蛇体宽度设置:初始大小、放大两倍、放大三倍三种选择;

食物颜色设置:橙色、黄色、紫色三种颜色可以选择。

3)帮助:游戏操作说明,可以使用快捷键F3打开,主要介绍游戏的操作方法、以及版本信息、制作时间。

3.2设计思想

贪吃蛇的游戏规则:蛇头不能反向移动,若反向则保持原来的运动方向不变;不能碰到场地四周和自身,若碰到到四周墙壁或者自身,则游戏结束;当吃到食物后,应在随机生成一个新的坐标产生食物,并且食物不能再蛇身内生成;选择相应的游戏难度等级,当分数累加到一定程度以后,速度增加,每个等级有分为三个加速阶段。

游戏场地的绘制:将panel控件设计为游戏的背景,场地、贪吃蛇以及食物都是在panel控件中完成绘制。

蛇身和食物的绘制:本实验主要使用Graphics类在panel控件中绘制游戏的场地以及贪吃蛇、食物,食物模块、蛇身各模块的绘制是在单元格中进行绘制的,这样蛇身移动和食物生成过程中不需要重新绘制背景;根据蛇身模块宽度,可以改变蛇体的大小和场地坐标图方格的大小;根据食物类和蛇类各自的颜色变量,再通过菜单来改变其相应的颜色。

游戏的动态刷新控制:使用Timer组件来实现贪吃蛇的移动,通过设置该组件的Interval属性大小来控制移动的速度。

5)蛇身移动的实现:蛇身的移动主要是用ArrList类来实现的,该类的主要功能是使用大小可以根据需要动态增加数组,即建立动态数组来存储蛇身,本实验主要使用ArrList类的Insert方法和RemoveAt方法实现蛇模块的增加、蛇体移动的清除移动尾部。

3.3设计总体流程图

程序结构图:

程序流程图:

  • 3
    点赞
  • 10
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值