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