我一直在考虑红警中造兵的得原理
还得麻烦大家帮帮忙我一直在考虑红警中造兵的得原理,我说一说看对不对,根dx8无关,请指教
作一个类CFighter,在程序开始前声明一个该类的指针数组,数组的容量是造兵数的上限。如:
CFighter MyFighter[100];
在响应用户“造兵”动作时,根据用户的选择对CFighter的对象赋值,并累加已造兵数 如:
SumFighter++;
MyFighter[SumFighter].Blood=100;
MyFighter[SumFighter].Speed=10
....................
这样一个新兵就产生了;
在主循环函数中,
for (i=0;i<SumFighter;i++)
{
.......
//显示士兵MyFighter[i]的位置、状态等
}
但是有一个问题就是我的CFighter 如果很大,申请一个100各成员的数组会占很大内存,
在用户制造几个兵的情况下,就导致系统资源的浪费,更何况红警可以造几千个兵。
我看到很多时候用new操作符可以动态申请内存,那么如何在我开始定义数组的时候控制系统不分配内存呢?
在造兵的相应中控制内存的分配,请高手指教