我目前正在开发一个 c++ 控制台游戏。该游戏由一个带有 2D 瓷砖阵列的棋盘类组成。
我还为玩家、箭头和物品提供了游戏棋子类。
我需要能够处理玩家/箭头/物品之间的每一次碰撞,我想知道两种可能的解决方案。
1)在每个图块上保存一个列表,该列表包含当前在该图块上的所有游戏块,并在图块上放置一个 enterTile(gamePiece piece) 并将逻辑放在那里。
2) 有一个外部“CollisionDetector”类,它将扫描所有瓷砖/碎片以进行碰撞并在那里处理它们。
你怎么看?