You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdegames/kmines/solver/test.cpp

46 lines
991 B

/** A program to test advisory library */
#include "bfield.h"
#include "headerP.h"
#define W 10
#define H 10
int main(int argc, char *argv[])
{
long seed = (argc<2 ? time(0) : atoi(argv[1]));
cout << "seed = " << seed << endl;
BaseField f(seed);
f.reset(W, H, 10);
KRandomSequence random(seed);
Coord c(random.getLong(W), random.getLong(H));
f.doReveal(c, 0, 0);
CoordSet sp;
AdviseFull::ProbabilityMap pm;
AdviseFast::FactSet facts(&f);
AdviseFull::adviseFull(&facts, &sp, &pm);
float pic[H][W];
for(uint i=0; i<H; ++i)
for(uint j=0; j<W; ++j) pic[i][j] = -1; // unknown
pic[c.second][c.first] = -(int)f.nbMinesAround(c);
AdviseFull::ProbabilityMap::iterator pmi;
for(pmi = pm.begin(); pmi != pm.end(); ++pmi)
pic[pmi->second.second][pmi->second.first] = pmi->first;
QString s;
for(uint i=0;i<H;++i) {
for(uint j=0;j<W;++j)
cout << s.sprintf("%+.02f ", pic[i][j]).latin1();
cout << endl;
}
return 0;
}