Code: Select all
struct cscore{
int energy;
int mex;
int attacker;
int defender;
int builder;
int factory;
int scouter;
};
class cscorer : public base {
public:
scorer()
~scorer()
void InitAI(Global* GL);
cscore Score(UnitDef* u);
cscore Score(int unit);
private:
int energyscore(UnitDef* u);
//... and so on
Global* G; // if not NTAI use IAICallback* cb;
};
cscore cscorer::Score(UnitDef* u){
cscore s;
s.energy = energyscore(u);
s.mex = mexscore(u);
//etc....
return s;
}
Code: Select all
cscore s;
try{
s = scorerclass->Score(u);
}catch(...){
cb->SendTextMsg("exception in scoring function!",1);
}