关于V1.0
为什么我给这个版本定义为V1.0嘞,因为在这个版本中仅仅实现了蛇的自动行进,按键对蛇的行进方向的操作和吃掉食物蛇身的增长等操作。
但是任何事情都必须一步一步来,当我们完成这个乞丐版的贪吃蛇,就为我们版本的更新打下了基础。
##思路
首先我们生成一个空白的的窗体,然后再放一个timer控件,好了我们的游戏界面就建好了。
直接写后台代码。
没错就是这么简陋,
你可能会问:”蛇喃?“,
别急,别急,
我们的蛇体和食物为在后台生成的label控件,
我们通过控制label控件在界面的显示来表示蛇的移动和生长!
开整
生成成员变量
代码中Key_Name为记录键盘状态的变量,初始为start
label标签的数组Snake_Boby
随机数R
记录位置的两个变量
//定义成员变量
/// <summary>
/// 键盘状态,初始为 start
/// </summary>
string Key_Name = "start";
/// <summary>
/// 蛇身数组
/// </summary>
Label[] Snake_Boby = new Label[3000];
/// <summary>
/// 随机数,用于生成food
/// </summary>
Random R = new Random();
/// <summary>
/// 记录位置
/// </summary>
int Snake_Boby_content_x = 0, Snake_Boby_content_y = 0;
贪吃蛇的初始化
在窗体的初始化事件Form1_Load中添加长度为5个label的蛇身
一个label的初始大小为10*10,并设置其的一些属性。
其中
Timer_Tick为蛇的移动事件,既每隔一次timer.Tick执行一次Timer_Tick
Form1_KeyDown为对键盘的监控
**Snake_food()**为食物的生成事件
private void Form1_Load(object sender, EventArgs e)
{
this.Top = 120;
this.Left = 120;
this.Width = 800;
this.Height = 800;
this.BackColor = Color.Blue;
//初始化一个label蛇体,长度为5个label,一个label height= width = 10
for (int i = 0; i < 8; i++)
{
//蛇段
Label Snake_Boby_content = new Label();
Snake_Boby_content.Height = 10;
Snake_Boby_content.Width = 10;
//蛇段的位置
Snake_Boby_content.Top = 400;
Snake_Boby_content.Left = 400 - i * 10;
//背景色
this.BackColor = Color.White;
Snake_Boby_co