方块拼图
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
namespace AibisDream
|
||||
{
|
||||
/// <summary>
|
||||
/// 形状工厂接口
|
||||
/// 负责创建和管理形状对象
|
||||
/// </summary>
|
||||
public interface IBlockShapeFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建指定ID的形状
|
||||
/// </summary>
|
||||
/// <param name="shapeId">形状ID</param>
|
||||
/// <returns>形状对象,如果ID不存在则返回null</returns>
|
||||
IBlockShape CreateShape(int shapeId);
|
||||
|
||||
/// <summary>
|
||||
/// 创建指定名称的形状
|
||||
/// </summary>
|
||||
/// <param name="shapeName">形状名称</param>
|
||||
/// <returns>形状对象,如果名称不存在则返回null</returns>
|
||||
IBlockShape CreateShape(string shapeName);
|
||||
|
||||
/// <summary>
|
||||
/// 创建随机形状
|
||||
/// </summary>
|
||||
/// <returns>随机形状对象</returns>
|
||||
IBlockShape CreateRandomShape();
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有可用的形状ID列表
|
||||
/// </summary>
|
||||
/// <returns>形状ID数组</returns>
|
||||
int[] GetAllShapeIds();
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有可用的形状名称列表
|
||||
/// </summary>
|
||||
/// <returns>形状名称数组</returns>
|
||||
string[] GetAllShapeNames();
|
||||
|
||||
/// <summary>
|
||||
/// 注册新形状
|
||||
/// </summary>
|
||||
/// <param name="shapeId">形状ID</param>
|
||||
/// <param name="shapeName">形状名称</param>
|
||||
/// <param name="pattern">形状模式(二维数组)</param>
|
||||
void RegisterShape(int shapeId, string shapeName, int[,] pattern);
|
||||
|
||||
/// <summary>
|
||||
/// 检查形状ID是否存在
|
||||
/// </summary>
|
||||
/// <param name="shapeId">形状ID</param>
|
||||
/// <returns>是否存在</returns>
|
||||
bool HasShape(int shapeId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user