结构型/享元模式/ChesePiece.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace DesignModeConsole.结构型.享元模式;
/*
假如开发一个棋牌游戏(比如象棋)。一个游戏厅中有成千上万个“房间”,每个房
间对应一个棋局。棋局要保存每个棋子的数据,比如:棋子类型(将、相、士、炮等)、棋
子颜色(红方、黑方)、棋子在棋局中的位置。利用这些数据,我们就能显示一个完整的棋
盘给玩家。具体的代码如下所示。其中,ChessPiece 类表示棋子,ChessBoard 类表示一
个棋局,里面保存了象棋中 30 个棋子的信息。
*/
#region 使用享元之前,充斥大量重复的对象
/// <summary>
/// 棋子类
/// </summary>
public class ChesePiece1
{
public ChesePiece1(int id, string name, int color, int positinX, int positinY)
{
Id = id;
Name = name;
Color = color;
PositinX = positinX;
PositinY = positinY;
}
/// <summary>
/// 标识
/// </summary>
public int Id { get; set; }
/// <summary>
/// 棋子名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 颜色 0代表白色 1代表黑色
/// </summary>
public int Color { get; set; }
/// <summary>
/// x轴坐标
/// </summary>
public int PositinX { get; set; }
/// <summary>
/// y轴坐标
/// </summary>
public int PositinY { get; set; }
}
/// <summary>
/// 棋局
/// </summary>
public class CheseBoard1
{
private readonly Dictionary<int, ChesePiece1> dict = new Dictionary<int, ChesePiece1>();
后面还有 119 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。