这是潘老师在给淮师学生进行为期两周的C#体验课演示的一个经典游戏项目——贪吃蛇游戏,整体设计也比较简单,只分为了简单、普通和困难3种模式,项目整体效果还是不错的,这里给大家提供了项目的源码下载,注意不是Java版的哦,是C#版的!
一、项目整体设计
(1)开始挑战页面
1)Form大小496*358
2)背景图-bg1.png
3)Icon图标-game.icon
4)难度选择(简单(500ms),普通(300ms),困难(100ms))
5)开始挑战按钮start.png

(2)运行页面
1)Form大小616*636
2)背景图-bg2.png(动态画上去)
3)Icon图标-game.icon
4)长度Label:内容5,得分Label:内容0
5)Timer,默认值100ms
6)蛇和苹果(动态画上去)

1)选择困难程度,点击开始挑战实现运行对应难度级别的游戏
2)蛇默认往右运动,上下左右键可以改变运动方向
3)苹果食物在地图上随机位置生成
4)蛇吃到苹果,自身长度加1,分数加10
5)蛇吃到自身或撞墙,游戏结束
6)地图每隔一定时间重画一遍,实现动态效果
(1)WinForm窗体类
Form1.cs-开始挑战界面
属性:
游戏难度
方法:
开始挑战点击方法:
创建Form2,获取难度
Form2.cs-游戏运行界面
属性:地图
构造方法:初始化地图
方法:
1)Load方法:设置游戏难度
2)定时方法:创建画笔,画地图
3)Paint方法:创建画笔,画地图
4)键盘监听方法:根据键盘输入设置蛇运行的方向
5)游戏运行方法(需判断是否吃到食物、是否吃到自己、是否撞墙,如有结束游戏,如果都没有继续前行)
(2)食物类Food.cs
属性:
1)食物的左上角坐标
方法:
1)根据食物坐标显示食物
(3)蛇块类 Block.cs
属性:
1)是否为蛇头
2)蛇块左上角坐标
方法:
1)根据坐标及是否为蛇头来画蛇块
(4)蛇类 Snake.cs
属性:
1)存放蛇的数组(蛇由蛇块组成),初始长度为5
2)蛇的运动方向(Up-上,Right-右,Down-下,Left-左),默认Right
3)蛇头左上角坐标
构造方法:
只有一个参数-地图左上角坐标
蛇尾根据地图左上角坐标生成,并生成其余4个蛇块(最后一个为蛇头),依次存入数组中
方法:
1)蛇根据传入的方向参数转换运动方向
注意:如果蛇原来向上或向下,那么只能往左或右转向
如果蛇原来向左或向右,那么只能往上或下转向
2)蛇吃到食物长度加1的方法(数组扩容)
3)蛇在没吃到食物的情况下向前运动的方法(数组缩容,去掉蛇尾,再调用蛇吃到食物长度加1的方法,即可实现)
4)画出蛇的方法
5)判断是是否碰到自己的方法
6)判断是否吃到了食物
(5)地图类 Map.cs
属性:
1)地图左上角坐标,默认(20,45)
2)地图单元格长度,默认20px
3)地图长度,默认540px
4)地图宽度,默认520px
5)食物
6)蛇
构造方法:
在创建地图的构造方法中需要:
1)初始化蛇
2)初始化食物(随机生成)
方法:
1)在地图范围内生成随机位置的食物方法
2)判断蛇是否撞墙(超出地图范围)
3)画地图
二、项目代码下载
百度网盘下载
提取码:
项目压缩包中包含如下文件:
- 设计文档
- 项目素材
- 项目源码
三、使用说明
直接使用Visual Studio
工具打开Snake.sln
文件即可,然后运行Program.cs
程序入口文件即可