目前我正在开发一款 PvP 国际象棋主机游戏。我制作了一个 ChessPiece 类,每个棋子都作为父母扩展了这个类。 ex) Rook 类 public ChessPiece
而且这个棋子中的一些具有独特的事件触发功能,在每个玩家移动后立即使用。例如,类 Pawn 有一个函数,告诉它是否可以提升。(bool isReachTheEnd())
当然还有其他类,例如 Chessboard 类,它是一个包含 ChessPiece 的 8x8 指针数组的组合,最后一个名为 ChessConsole 的类具有 Chessboard 类。
所以我想知道我应该如何实施易位事件?在面向对象的编程中,您永远不必知道实例和值的类型。 那么我应该在哪个层次结构上处理转换?或者我应该创建另一个完整的虚拟类,它是一个 castling 的接口?
请大家帮帮我
我试图在 ChessConsole 类上实现 castling,它有 bool triggerCastling()。这个函数决定哪一边可以转换,参考 ChessBoard 的实例。
有什么办法可以用面向对象的编程风格来处理这个问题吗?
我是 Java 的新手,但我认为您应该为棋子和城堡棋子创建接口,并从类中创建棋子作为这些接口的实现,这样更有意义。
对不起,如果这不是您要找的