• 大小: 62KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: C#
  • 标签: C#  贪食蛇  全能版  

资源简介

C#贪食蛇全能版 越吃越长的贪食蛇 已实现:分数统计 开始 暂停 结束 空格暂停 屏蔽其它按键的事件 简单易懂 有兴趣的童鞋可以参考 不懂可以随时Q我285679784 我很乐意给你解答

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WinSnakeGame
{
    public partial class frmSnake : Form
    {
        private int OneScore = 10;//一个食物分数
        private int Score = 0;//初始分数
        private int snakeSize = 15;//蛇与食物的大小
        private const int snakeLen = 2;//蛇身初始长度
        private int snakeNowLen = snakeLen;
        private Point[] snakeArr = new Point[1000];//蛇身集合 最多可以吃1000-1个食物。
        private const int footLen = 10;//每次生成食物数量
        private List FootArr = new List();//食物集合
        private Keys onkey = Keys.Right;//控制的方向
        public frmSnake()
        {
            InitializeComponent();
            this.timeSnakeMove.Stop();
            this.KeyPreview = true;
            this.PnlsnakeHome.Focus();
            this.CreateSnakeArr(snakeLen);
        }

        private void btnStart_Click(object sender EventArgs e)
        {
            this.timeSnakeMove.Start();
        }

        private void btnStop_Click(object sender EventArgs e)
        {
            this.timeSnakeMove.Stop();
        }

        private void btnClose_Click(object sender EventArgs e)
        {
            this.ReSetControl();
            this.DrawElipseArr();
            this.DrawFoot();
        }

        private void PnlsnakeHome_Paint(object sender PaintEventArgs e)
        {
            this.DrawElipseArr();
            this.DrawFoot();
        }

        private void frmSnake_KeyDown(object sender KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
            {
                onkey = e.KeyCode;
                this.timeSnakeMove.Start();
            }
            else if (e.KeyCode == Keys.Space)
            {
                this.timeSnakeMove.Stop();
            }
        }

        private void timeSnakeMove_Tick(object sender EventArgs e)
        {
            //  4      3     2      1      0
            //150   300   450   600   750
            this.SetSnakeSelf();

            switch (onkey)
            {
                case Keys.Up:
                    snakeArr[0].Y -= snakeSize;
                    break;
                case Keys.Down:
                    snakeArr[0].Y += snakeSize;
                    break;
                case Keys.Left:
                    snakeArr[0].X -= snakeSize;
                    break;
                case Keys.Right:
                    snakeArr[0].X += snakeSize;
                    break;
            }

            if (this.CheckSnackStart() && this.CheckSnakeSelf())
            {
                //消除已吃食物
                int del = FootArr.RemoveAll(n => n.X == snakeArr[0].X && n.Y == snakeArr[0].Y);

                //消除食物数量>0
                if (del >

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-05-14 13:44  WinSnakeGame\
     目录           0  2015-05-14 13:44  WinSnakeGame\bin\
     目录           0  2015-05-14 17:43  WinSnakeGame\bin\Debug\
     文件       13824  2015-05-16 14:55  WinSnakeGame\bin\Debug\WinSnakeGame.exe
     文件       32256  2015-05-16 14:55  WinSnakeGame\bin\Debug\WinSnakeGame.pdb
     文件       22472  2015-05-16 14:57  WinSnakeGame\bin\Debug\WinSnakeGame.vshost.exe
     文件         490  2012-06-06 02:06  WinSnakeGame\bin\Debug\WinSnakeGame.vshost.exe.manifest
     目录           0  2015-05-14 13:44  WinSnakeGame\bin\Release\
     文件        9426  2015-05-16 14:57  WinSnakeGame\frmSnake.cs
     文件        5818  2015-05-16 14:23  WinSnakeGame\frmSnake.Designer.cs
     文件        6018  2015-05-16 14:23  WinSnakeGame\frmSnake.resx
     目录           0  2015-05-14 13:42  WinSnakeGame\obj\
     目录           0  2015-05-16 14:55  WinSnakeGame\obj\Debug\
     文件        1451  2015-05-14 17:43  WinSnakeGame\obj\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6779  2015-05-14 13:44  WinSnakeGame\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     目录           0  2015-05-14 13:42  WinSnakeGame\obj\Debug\TempPE\
     文件         573  2015-05-16 14:57  WinSnakeGame\obj\Debug\WinSnakeGame.csproj.FileListAbsolute.txt
     文件         978  2015-05-16 14:23  WinSnakeGame\obj\Debug\WinSnakeGame.csproj.GenerateResource.Cache
     文件        2209  2015-05-14 17:49  WinSnakeGame\obj\Debug\WinSnakeGame.csprojResolveAssemblyReference.cache
     文件       13824  2015-05-16 14:55  WinSnakeGame\obj\Debug\WinSnakeGame.exe
     文件         180  2015-05-16 14:23  WinSnakeGame\obj\Debug\WinSnakeGame.frmSnake.resources
     文件       32256  2015-05-16 14:55  WinSnakeGame\obj\Debug\WinSnakeGame.pdb
     文件         180  2015-05-14 17:19  WinSnakeGame\obj\Debug\WinSnakeGame.Properties.Resources.resources
     文件         496  2015-05-14 13:44  WinSnakeGame\Program.cs
     目录           0  2015-05-14 13:42  WinSnakeGame\Properties\
     文件        1362  2015-05-14 13:42  WinSnakeGame\Properties\AssemblyInfo.cs
     文件        2876  2015-05-14 13:42  WinSnakeGame\Properties\Resources.Designer.cs
     文件        5612  2015-05-14 13:42  WinSnakeGame\Properties\Resources.resx
     文件        1099  2015-05-14 13:42  WinSnakeGame\Properties\Settings.Designer.cs
     文件         249  2015-05-14 13:42  WinSnakeGame\Properties\Settings.settings
     文件        3752  2015-05-14 13:46  WinSnakeGame\WinSnakeGame.csproj
............此处省略2个文件信息

评论

共有 条评论