feat(chinese-chess): 实现中国象棋核心逻辑和基本功能

- 抽象出 ChessCore 类,包含游戏初始化、行棋逻辑、悔棋等功能
- 重构 Player 类,优化行棋和记录逻辑
- 更新 ChessBoard 和 ChessPiece 类,适应新逻辑
- 移除冗余代码,提高代码可读性和可维护性
This commit is contained in:
ZZY
2024-11-07 20:48:08 +08:00
parent 6daf09b300
commit 8ee9732a6f
9 changed files with 225 additions and 121 deletions

View File

@ -7,7 +7,7 @@ public partial class ChessPiece : Sprite2D {
public string PieceLabel { get; set; } = null;
// 文字颜色(可导出以编辑器调整)
[Export]
public Color LabelColor { get; set; } = new Color("black");
public Color LabelColor { get; set; } = new Color("white");
private Vector2 textureSize;
private Label labelOfChessName;
@ -37,12 +37,12 @@ public partial class ChessPiece : Sprite2D {
new Vector2(0, 0)
);
public ChessPiece() : this("", Vector2.Zero){
public ChessPiece() : this("", new()){
}
public ChessPiece(string name, Vector2 pos) {
public ChessPiece(string name, VirtualPiece piece) {
PieceLabel = name;
piece = new VirtualPiece(name, pos);
this.piece = piece;
piece.OnMove += OnMove;
piece.OnSelected += OnSelected;
piece.data = this;