贪吃蛇-源码(待完善)

<span style="color:#666666;background-color: rgb(255, 255, 102);"></span>
</pre><p>粗略的雏形:</p><p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAZ5ElEQVR4Ae3dQY+dZRkG4HemJNMZSosLYmx0YeLGBBgoEiEaYY0b4w9x5cKfYAy/QeMfMG5gxYJKDBhMSYVEF67UkBgWnhaYmabtjOc7v+D7PvK8Ge73GuPufO87z3U/ye2x7Tl7m83movkhQIAAAQIEvtYC+1/r394vT4AAAQIECOwEFLpFIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBBQ6HaAAAECBAgECCj0gBCNQIAAAQIEFLodIECAAAECAQIKPSBEIxAgQIAAAYVuBwgQIECAQICAQg8I0QgECBAgQECh2wECBAgQIBAgoNADQjQCAQIECBB4AkGdwPsf3mlnDx608/PzRZfs7++3qwcH7dWXby16zosJECBAYFyBvc1mczHu+HWT3/7zB+3G9evtxeNn25NHR4su+vLkpH1095N27/799tqPXln0rBcTIECAwJgC3qEX5f54+6781vFz7fDwajs7O1t0y9Hh4e7Zd26/t+g5LyZAgACBcQUUelH2FxcX7ejocFfm1968tuiWL375xe7Z6Qw/BAgQIEBgjoC/FDdHyWsIECBAgMAlF1Dolzwgvx4BAgQIEJgjoNDnKHkNAQIECBC45AIK/ZIH5NcjQIAAAQJzBBT6HCWvIUCA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" alt="" /></p><p></p><pre name="code" class="csharp">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace MineSweeperSharp
{
    public partial class FrmSnakeGame : Form
    {
        public FrmSnakeGame()
        {
            InitializeComponent();
            NewGame();
        }

        //贪吃蛇类
        public class Snake : Button
        { 
            //属性,移动规则
            public int No;

            public Snake(int in_No)
            {
                No = in_No;
                Size = new Size(20,20);
            }

            //增长身体
            public void Growth()
            { 

            }
        }

        Snake[] snakes=new Snake[10];

        //果子类
        public class Fruit : Label
        { 
            
        }

        #region 新游戏
        public Snake snakeHead;
        Timer timer;
        public void NewGame()
        {

            SetFrom();//设置主窗体
            snakeHead = new Snake(0);
            snakeHead.KeyUp += snakeHead_KeyUp;
            snakeHead.Location = new Point(this.Width/2,this.Height/2);
            //设置蛇头的坐标
            snake_x = this.Width / 2;
            snake_y= this.Height / 2;
            timer = new Timer();
            timer.Tick += timer_Tick;
            timer.Enabled = true;
            //移动速度
            timer.Interval = 20;
            Controls.Add(snakeHead);
            SetFruit();
        }
        #endregion

        #region 设置主窗体
        //设置主窗体
        public void SetFrom()
        {
            this.FormBorderStyle = FormBorderStyle.None;
            this.StartPosition = FormStartPosition.CenterScreen;
            this.Width = 500;
            this.Height = 500;
        }
        #endregion

        #region 随机生成的果子
        //随机生成的果子
        Fruit fruit;
        private void SetFruit()
        {
            Random rd = new Random();
            int f_x = rd.Next(0,this.Width-0);
            int f_y = rd.Next(0,this.Height-0);

            fruit = new Fruit();
            fruit.Size = new Size(10, 10);
            fruit.Location = new Point(f_x, f_y);
            fruit.BackColor = Color.Red;
            Controls.Add(fruit);
        }
        #endregion

        #region 键盘“上下左右”事件
        //响应键盘“上下左右”事件
        void snakeHead_KeyUp(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            { 
                case Keys.Up:
                    if (keys.Equals("下"))
                        break;
                    keys = "上";
                    break;
                case Keys.Down:
                    if (keys.Equals("上"))
                        break;
                     keys = "下";
                    break;
                case Keys.Left:
                    if (keys.Equals("右"))
                        break;
                    keys = "左";
                    break;
                case Keys.Right:
                    if (keys.Equals("左"))
                        break;
                    keys = "右";
                    break;
            }
        }
        #endregion

        //蛇头的坐标
         int snake_x = 0;
         int snake_y = 0;
         int hou_x = 0;
         int hou_y = 0;

         int hou_x2 = 0;
         int hou_y2 = 0;
        //控制方向
        string keys = "下";
        int sudu = 0;
        int sudu2 = 0;
        void timer_Tick(object sender, EventArgs e)
        {
           
            switch (keys)
            {
                case "上":
                    snake_y -= 5;
                    break;
                case "下":
                    snake_y += 5;
                    break;
                case "左":
                    snake_x -= 5;
                    break;
                case "右":
                    snake_x += 5;
                    break;
            }

            if (sudu == 0)
            {
                hou_x = snake_x;
                hou_y = snake_y;
 
            }
            if (sudu2 == 5)
            {
                hou_x2 = hou_x;
                hou_y2 = hou_y;
            }
            sudu2++;
            sudu++;
            snakeHead.Location = new Point(snake_x, snake_y);
            if (sudu == 5)
            {
                for (int i = 0; i < snakes.Length; i++)
                {
                    if (snakes[i] != null)
                    {
                        if (i == 0)
                        {
                            snakes[i].Location = new Point(hou_x, hou_y);
                        }
                    }
                }
                sudu = 0;
            }
            
            if (sudu2 == 10)
            {
                for (int i = 0; i < snakes.Length; i++)
                {
                    if (snakes[i] != null)
                    {
                        if (i == 1)
                        {
                            snakes[i].Location = new Point(hou_x2, hou_y2);
                        }
                    }
                }
                sudu2 = 0;
            }


            int f_L_T_x = fruit.Location.X;     //果子的左上角点的x轴
            int f_L_T_y = fruit.Location.Y;     //果子的左上角点的y轴

            int f_R_T_x = fruit.Location.X + fruit.Width;//果子右上角点的x轴
            int f_L_B_y = fruit.Location.Y + fruit.Height;//果子左下角点的y轴

            int s_L_T_x = snake_x; //蛇头左上角点的x轴
            int s_L_T_y = snake_y;//蛇头左上角点的y轴

            int s_R_T_x = snake_x + snakeHead.Width;
            int s_L_B_y = snake_y + snakeHead.Height;

            //艹!这两行代码想了我2个钟!!!
            if (s_L_T_x <= f_R_T_x && s_L_T_x >= f_R_T_x - (snakeHead.Width + fruit.Width) &&
               s_L_T_y <= f_L_B_y && s_L_T_y >= f_L_B_y - (snakeHead.Height + fruit.Height))
            {
                this.Controls.Remove(fruit);
                SetFruit();
                EatedFruit();
            }
            //蛇头撞墙
            SetFangXiang();
        }

        //吃到果子后
        private void EatedFruit()
        {
            for (int i = 0; i < 2; i++)
            {
                if (snakes[i] == null)
                {
                    snakes[i] = new Snake(i);
                    snakes[i].Location = new Point(snake_x , snake_y);
                    snakes[i].Enabled = false;
                    snakes[i].BackColor = Color.Green;
                    Controls.Add(snakes[i]);
                    return;
                }
            }

        }

       

        private void SetFangXiang()
        {
            //控制方向
            if (snakeHead.Location.X + snakeHead.Width < 0)
            {
                snake_x = this.Width - snakeHead.Width;
            }
            else if (snakeHead.Location.Y < 0)
            {
                snake_y = this.Height - snakeHead.Height;
            }
            else if (snakeHead.Location.X > this.Width)
            {
                snake_x = 0;
            }
            else if (snakeHead.Location.Y + snakeHead.Height > this.Height)
            {
                snake_y = 0;
            }
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值