我在这里搜索得最好,以找到我的问题的答案但是没有结果或者我没有找到正确的事情,但无论如何...
我需要制造的战舰游戏必须包括:1艘长度为5的航空母舰,2艘长度为4的战列舰,3艘长度为3的驱逐舰和4艘长度为2的潜艇。
我有一个船只类,其中包含id,name,x,y和direction等数据。
然后我有一个董事会类,然后需要实例化所有这些船。我这样做是通过制作一个Ship类型的向量并将船舶对象推到其上。
但是每个船舶对象都需要存储该船舶的所有x和y值,而我仍然坚持如何做到这一点。我想发布代码,但它没有功能,而且看起来很乱,这可能对任何人都没有好处。但是,如果有必要,我可以再次编写骨架并在此处发布。
提前致谢。
答案 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
,使其更加清晰。