6.格子类型枚举和格子结构体

  1. 6.游戏场景-格子类型枚举和格子结构体
    1. 6.1 知识点
      1. Class 语句块外 Namespace 语句块内
        1. 创建格子类型枚举
        2. 创建位置结构体
        3. 创建格子结构体
    2. 6.2 知识点代码

6.游戏场景-格子类型枚举和格子结构体


6.1 知识点

Class 语句块外 Namespace 语句块内

创建格子类型枚举

// Class 语句块外 Namespace 语句块内

/// <summary>
/// 格子类型 枚举
/// </summary>
enum E_Grid_Type
{
    /// <summary>
    /// 普通格子
    /// </summary>
    Normal,
    /// <summary>
    /// 炸弹
    /// </summary>
    Boom,
    /// <summary>
    /// 暂停
    /// </summary>
    Pause,
    /// <summary>
    /// 时空隧道 随机倒退 暂停 换位置
    /// </summary>
    Tunnel,
}

创建位置结构体

/// <summary>
/// 位置信息结构体 包含 xy 位置
/// </summary>
struct Vector2
{
    public int x;
    public int y;

    public Vector2(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}

创建格子结构体

struct Grid
{
    // 格子的类型
    public E_Grid_Type type;

    // 格子的位置
    public Vector2 pos;

    // 初始化构造函数
    public Grid(int x, int y, E_Grid_Type type)
    {
        pos.x = x;
        pos.y = y;
        this.type = type;
    }

    // 画格子的方法
    public void Draw()
    {
        // 提出来的目的 就是少写几行代码 因为他们不管哪种类型 都要设置了位置再画
        Console.SetCursorPosition(pos.x, pos.y);
        switch (type)
        {
            // 普通格子 怎么画
            case E_Grid_Type.Normal:
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("□");
                break;
            // 炸弹 怎么画
            case E_Grid_Type.Boom:
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("●");
                break;
            // 暂停 怎么画
            case E_Grid_Type.Pause:
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.Write("‖");
                break;
            // 时空隧道 怎么画
            case E_Grid_Type.Tunnel:
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write("¤");
                break;
        }
    }
}

6.2 知识点代码

//创建格子类型枚举
/// <summary>
/// 格子类型 枚举
/// </summary>
enum E_Grid_Type
{
    /// <summary>
    /// 普通格子
    /// </summary>
    Normal,
    /// <summary>
    /// 炸弹
    /// </summary>
    Boom,
    /// <summary>
    /// 暂停
    /// </summary>
    Pause,
    /// <summary>
    /// 时空隧道 随机倒退 暂停 换位置
    /// </summary>
    Tunnel,
}

//创建位置结构体
/// <summary>
/// 位置信息结构体 包含 xy 位置
/// </summary>
struct Vector2
{
    public int x;
    public int y;

    public Vector2(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
}

//创建格子结构体
struct Grid
{
    //格子的类型
    public E_Grid_Type type;

    //格子的位置
    public Vector2 pos;

    //初始化构造函数
    public Grid(int x, int y, E_Grid_Type type)
    {
        pos.x = x;
        pos.y = y;
        this.type = type;
    }

    //画格子的方法
    public void Draw()
    {
        //提出来的目的 就是少写几行代码 因为他们不管哪种类型 都要设置了位置再画
        Console.SetCursorPosition(pos.x, pos.y);
        switch (type)
        {
            //普通格子 怎么画
            case E_Grid_Type.Normal:
                Console.ForegroundColor = ConsoleColor.White;
                Console.Write("□");
                break;
            //炸弹 怎么画
            case E_Grid_Type.Boom:
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write("●");
                break;
            //暂停 怎么画
            case E_Grid_Type.Pause:
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.Write("‖");
                break;
            //时空隧道 怎么画
            case E_Grid_Type.Tunnel:
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write("¤");
                break;
        }
    }
}


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

×

喜欢就点赞,疼爱就打赏