贪吃蛇小项目

This commit is contained in:
2025-09-21 20:11:21 +08:00
parent 0a1446e7b3
commit 116b65164b
18 changed files with 695 additions and 25 deletions
+78
View File
@@ -0,0 +1,78 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace
{
class Game
{
//窗口宽高
public const int h = 20;
public const int w = 80;
//当前游戏场景
public static ISceneUpdate nowScene;
public Game()
{
Console.CursorVisible = false;
Console.SetWindowSize(w, h);
Console.SetBufferSize(w, h);
ChangeScene(E_Scene.Begin);//初始场景为开始场景
}
public void Start()
{
//游戏主循环
while (true)
{
try
{
if (nowScene != null)
{
nowScene.Update();//场景不为空就更新场景
}
}
catch
{
}
}
}
public static void ChangeScene(E_Scene type)
{
//切场景时先擦除上一次绘制的内容
Console.Clear();
switch (type)
{
case E_Scene.Begin:
nowScene = new BeginScene();
break;
case E_Scene.Game:
nowScene = new GameScene();
break;
case E_Scene.End:
nowScene = new EndScene();
break;
default:
break;
}
}
}
enum E_Scene
{
/// <summary>
/// 开始场景
/// </summary>
Begin,
/// <summary>
/// 游戏场景
/// </summary>
Game,
/// <summary>
/// 结束场景
/// </summary>
End,
}//游戏场景枚举
}
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace
{
/// <summary>
/// 场景更新接口
/// </summary>
interface ISceneUpdate
{
void Update()
{
}
}
}