3.多个场景

3.多个场景


3.1 知识点

Class 语句块外 Namespace 语句块内

声明枚举类型

/// <summary>
/// 游戏场景枚举类型
/// </summary>
enum E_SceneType
{
    /// <summary>
    /// 开始场景
    /// </summary>
    Begin,
    /// <summary>
    /// 游戏场景
    /// </summary>
    Game,
    /// <summary>
    /// 结束场景
    /// </summary>
    End,
}

主函数内

声明一个表示场景标识的变量

E_SceneType nowSceneType = E_SceneType.Begin;

构建场景切换的死循环

while (true)
{
    // Your code here
}

构建场景切换的 switch 分支,判断当前场景标识变量的值,不同场景执行不同的逻辑

while (true)
{
    switch (nowSceneType)
    {
        case E_SceneType.Begin:
            // 开始场景逻辑
            Console.Clear();
            break;
        case E_SceneType.Game:
            // 游戏场景逻辑
            Console.Clear();
            break;
        case E_SceneType.End:
            // 结束场景逻辑
            Console.Clear();
            break;
        default:
            break;
    }
}

3.2 知识点代码

namespace 语句块内

//声明枚举类型
/// <summary>
/// 游戏场景枚举类型
/// </summary>
enum E_SceneType
{
    /// <summary>
    /// 开始场景
    /// </summary>
    Begin,
    /// <summary>
    /// 游戏场景
    /// </summary>
    Game,
    /// <summary>
    /// 结束场景
    /// </summary>
    End,
}

主函数内

//申明一个 表示场景标识的 变量 
E_SceneType nowSceneType = E_SceneType.Begin;

//构建场景切换的死循环
while (true)
{
    //构建场景切换的 switch 分支 判断当前场景标识变量的值 不同场景执行不同的逻辑
    switch (nowSceneType)
    {
        case E_SceneType.Begin:
            //开始场景逻辑
            Console.Clear();
            //来书写 开始场景相关的逻辑即可
            BeginOrEndScene(w, h, ref nowSceneType);
            break;
        case E_SceneType.Game:
            //游戏场景逻辑
            Console.Clear();
            //通过函数来处理游戏场景的逻辑内容
            GameScene(w, h, ref nowSceneType);
            break;
        case E_SceneType.End:
            //结束场景逻辑
            Console.Clear();
            BeginOrEndScene(w, h, ref nowSceneType);
            break;
        default:
            break;
    }
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏