33 unsigned validTotal = 0;
38 unsigned rd = rand() % validTotal;
40 unsigned validIndex = 0;
41 for(
unsigned i=0;i<size();++i){
43 if(validIndex==rd)
return i;
47 throw runtime_error(
"SHOULD NOT HAPPEN : see randomValidInv()");
51 unsigned validTotal = 0;
64 unsigned validIndex = 0;
65 for(
unsigned i=0;i<size();++i){
66 if(!at(i).hasNoValid()){
67 if(validIndex==rd)
return i;
71 throw runtime_error(
"SHOULD NOT HAPPEN : see randomValidCol()");
unsigned randomValidInv() const
Returns a random valid invader in the column (reminder, the column can contains NONE invaders)
unsigned getOutterInvader() const
gives the index of the last valid (type different than NONE) invader
bool hasNoValid() const
tells if the column contains no non type NONE invader
unsigned randomValidCol() const
Returns a random valid column in the grid.
unsigned validColsNumber() const
Helper function for randomValidCol() that returns the number of valid column (at least one invader in...
InvaderType
List of all invader type.