战舰游戏 - 跟踪船只

时间:2014-03-23 19:47:43

标签: c++ oop

我在这里搜索得最好,以找到我的问题的答案但是没有结果或者我没有找到正确的事情,但无论如何...

我需要制造的战舰游戏必须包括:1艘长度为5的航空母舰,2艘长度为4的战列舰,3艘长度为3的驱逐舰和4艘长度为2的潜艇。

我有一个船只类,其中包含id,name,x,y和direction等数据。

然后我有一个董事会类,然后需要实例化所有这些船。我这样做是通过制作一个Ship类型的向量并将船舶对象推到其上。

但是每个船舶对象都需要存储该船舶的所有x和y值,而我仍然坚持如何做到这一点。我想发布代码,但它没有功能,而且看起来很乱,这可能对任何人都没有好处。但是,如果有必要,我可以再次编写骨架并在此处发布。

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果你有x,y和方向,那么船的点数可以从它的大小

计算出来

答案 1 :(得分:0)

每艘船内部可能只有一个vector<Point>。然后可以检查命中:

Point guess;
for (auto& ship : ships) {
    for (auto& point : ship.points) {
        if (point == guess) 
           // hit
    }
}

如果您的目标是需要在每个部件中击中一次,那么这将是有意义的。

内部循环也可以轻松更改为std::find,使其更加清晰。