android random number generator not random enough -
i made yahtzee game player rolls 5 dice , use random number generator determine dice values. dice seem random enough when run on emulator, reason when run on phones players keep getting same values many of dice: coincidence. instance, if 4 comes on 1 dice, comes on 3 or 4 other dice. makes hard find problem isn't consistent: throw normal. determine random numbers 5 dice using following code:
public void randomdize(){ int randspot; for(int = 0; < 5; i++){ random randomgenerator = new random(); randspot = randomgenerator.nextint(6); if(dieset[i]== 0){ dieval[i]=randspot; imagebuttons[i].setbackgroundresource(imageres[randspot]); } } }
you instantiate random generator in loop, move outside:
private random randomgenerator = new random(); //or even: // private static random randomgenerator = new random(); public void randomdize(){ int randspot; for(int = 0; < 5; i++){ randspot = randomgenerator.nextint(6); if(dieset[i]== 0){ dieval[i]=randspot; imagebuttons[i].setbackgroundresource(imageres[randspot]); } } }
Comments
Post a Comment