因此,快速总结一下我为什么要这样做:
我正在制作一个太空飞行程序,其中(一旦我在不止一艘飞船上编码)我将能够存储不同的飞船,例如craft[HAB]、craft[AYSE]、craft[ISS] 等等。目前,我只在一艘船上编码,我这样声明:
enum craft {HAB, CRAFTMAX};
...
[declaring ship class here]
...
ship craft[CRAFTMAX];
然而,并不是所有的船都是相同的结构。例如,HAB(Habitat 的缩写)将是一个底部有三个引擎吊舱的圆圈,AYSE 将是一个空间站,其中心有一根管子和对接灯,等等。我正在让这些函数在屏幕上绘制一个矢量。
目前,我已经声明了 ship::draw,我只是用它来绘制 Hab。但是,我希望能够修改每个绘图函数来绘制该船,即craft[AYSE].draw() 将具有与craft[HAB].draw() 不同的声明。
我已经想过,并寻找了不同的方法来做到这一点,但我没有取得太大的成功。我仍然希望能够遍历所有工艺,以便于计算重力和碰撞。但是我猜如果函数是数组的元素时不能单独声明它们,那么单独声明每艘船不会太麻烦,因为最多只有 10 个。
如果您想查看任何其他代码,这是我的 git 存储库,它正在存储它。它肯定有点杂乱无章,因为它是一个垄断项目,我只看到自己在使用它。
你们中有人尝试过吗?我敢肯定那里一定有几个人!
并提前感谢。