我目前正在用 C++ 开发一个类似国际象棋的游戏,想知道是否有任何模式或好的编程方法来检查类之间的消息。
在我的问题中,我有两个类,一个 boardSquare 类和一个 GameBoard 类 (BoardSquareManager)。 boardsquare 具有以下功能:当您单击一个正方形时, bool 值将设置为 true,表示已单击 boardSquare。目前在 GameBoard 类中,我有一组 BoardSquares,为了检查是否有一个 boardsquare 被点击,我每次检查每个 BoardSquare,看看是否有人被点击,它看起来像这样。
void AGameBoard::CheckMessages()
{
for (int i = 0; i < 64; i++)
{
if (BoardSquareArray[i]->GetWasClicked())
{
iClickedTile = BoardSquareArray[i]->GetSquareNum();
BoardSquareArray[i]->DeactivateClick();
bTileWasClicked = true;
}
}
}
在我看来,我觉得没有必要一直查看整个数组,这样我就可以了解某个图 block 是否已被单击,您知道有更好的方法吗?
感谢所有的回答!
最佳答案
考虑过观察者模式吗? E. Gamma 的经典设计模式书籍包含许多来自实现 GUI 应用程序的模式。其他可能有趣的模式是命令(是否要撤消移动?)、装饰器、命令链、复合、策略、模板方法。我肯定会推荐阅读这本书。
关于c++ - 检查数组中消息的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33844382/