refactor(chess): 重构象棋程序基础结构,使用Nullable重构核心代码

- 更新了多个文件的代码结构和类型定义,提高了代码的健壮性和可维护性
- 优化了事件处理、棋子管理和移动逻辑,为后续功能扩展打下坚实基础
- 修复了一些潜在的空指针异常问题,提高了程序的稳定性
- 修复部分bug
This commit is contained in:
ZZY
2024-11-22 23:51:32 +08:00
parent 9c619784af
commit 327c2df94d
19 changed files with 307 additions and 117 deletions

View File

@ -6,7 +6,7 @@ using Vector2I = Vector.Vector2I;
namespace ChineseChess;
public class CCBoard : AbstractBoard
{
public event EventHandler<int> OnStepsChanged;
public event EventHandler<int>? OnStepsChanged;
private int steps = 0;
public int Steps {
get => steps;
@ -20,7 +20,7 @@ public class CCBoard : AbstractBoard
public CCBoard() : base(9, 10) {
}
public override void AddRecord(IPiece From, IPiece To, Vector2I FromPos, Vector2I ToPos) {
public override void AddRecord(IPiece? From, IPiece? To, Vector2I FromPos, Vector2I ToPos) {
base.AddRecord(From, To, FromPos, ToPos);
Steps += 1;
}