找传奇、传世资源到传世资源站!

C# 贪吃蛇小程序 游戏源码

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

贪吃蛇小游戏
from clipboard /// <summary>
        /// 移动贪吃蛇
        /// </summary>
        /// <param n="int">标识,判断的移动的方向</param>
        public void SnakeMove(int n)
        {
            Point tem_Point = new Point(-1, -1);//定义坐标结构
            switch (n)
            {
                case 0://右移
                    {
                        tem_Point.X = ((Point)List[0]).X Condyle;//蛇头向右移
                        tem_Point.Y = ((Point)List[0]).Y;
                        break;
                    }
                case 1://左移
                    {
                        tem_Point.X = ((Point)List[0]).X - Condyle;//蛇头向左移
                        tem_Point.Y = ((Point)List[0]).Y;
                        break;
                    }
                case 2://上移
                    {
                        tem_Point.Y = ((Point)List[0]).Y - Condyle;//蛇头向上移
                        tem_Point.X = ((Point)List[0]).X;
                        break;
                    }
                case 3://下移
                    {
                        tem_Point.Y = ((Point)List[0]).Y Condyle;//蛇头向下移
                        tem_Point.X = ((Point)List[0]).X;
                        break;
                    }
            }
            BuildFood();//生成食物
            if (!EstimateMove(tem_Point))//如果没有向相反的方向移动
            {
                Aspect = n;//改变贪吃蛇的移动方向
                if (!GameAborted(tem_Point))//如果游戏没有结束
                {
                    ProtractSnake(tem_Point);//重新绘制蛇身
                    EatFood();//吃食
                }
                g.FillRectangle(SolidF, Food.X 1, Food.Y 1, Condyle - 1, Condyle - 1);//绘制食物
            }
        }

        /// <summary>
        /// 吃食
        /// </summary>
        public void EatFood()
        {
            if (((Point)List[0]) == Food)//如果蛇头吃到了食物
            {
                List.Add(List[List.Count - 1]);//在蛇的尾部添加蛇身
                ifFood = false;//没有食物
                BuildFood();//生成食物
                label.Text = Convert.ToString(Convert.ToInt32(label.Text) 5);//显示当前分数
            }
        }

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复