贪吃蛇小项目
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace 贪吃蛇
|
||||
{
|
||||
class GameScene : ISceneUpdate
|
||||
{
|
||||
Map map;
|
||||
Snake snake;
|
||||
Food food;
|
||||
public GameScene()
|
||||
{
|
||||
map = new Map();
|
||||
snake = new Snake(40, 10);
|
||||
food = new Food(snake);
|
||||
}
|
||||
public void Update()
|
||||
{
|
||||
|
||||
map.Draw();//画地图
|
||||
food.Draw();//画食物
|
||||
snake.Move();//让蛇动起来
|
||||
snake.Draw();//画蛇
|
||||
if (snake.CheckEnd(map))//检测游戏是否结束
|
||||
{
|
||||
Game.ChangeScene(E_Scene.End);
|
||||
}
|
||||
snake.CheckEat(food);//检测蛇是否吃到食物
|
||||
Thread.Sleep(200);//控制蛇的移动速度
|
||||
//检测用户输入
|
||||
if (Console.KeyAvailable)//Console.KeyAvailable的作用是:如果有按键输入才返回Ture,防止卡住
|
||||
{
|
||||
switch (Console.ReadKey(true).Key)
|
||||
{
|
||||
case ConsoleKey.W:
|
||||
case ConsoleKey.UpArrow:
|
||||
snake.ChangeDirection(E_MoveDirection.Up);
|
||||
//向上
|
||||
break;
|
||||
case ConsoleKey.S:
|
||||
case ConsoleKey.DownArrow:
|
||||
snake.ChangeDirection(E_MoveDirection.Down);
|
||||
//向下
|
||||
break;
|
||||
case ConsoleKey.A:
|
||||
case ConsoleKey.LeftArrow:
|
||||
snake.ChangeDirection(E_MoveDirection.Left);
|
||||
//向左
|
||||
break;
|
||||
case ConsoleKey.D:
|
||||
case ConsoleKey.RightArrow:
|
||||
snake.ChangeDirection(E_MoveDirection.Right);
|
||||
//向右
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user