Why the ?: expression below returns strange numbers, eg., 1079134336 for Level==2 and NumberOfBonuses > 0? Level and NumberOfBonuses are integer variables, SpawnBonusTimer is a Timer. I tried also "if" version, which works as expected; returns, e.g., 4 for level 2. See the code snippets below.
Code: Select all
// incorrect results
SpawnBonusTimer.Interval = (NumberOfBonuses < 1) ? 0 : random(1, 0.3) * (8.0 / Level);
Code: Select all
// correct results
if(NumberOfBonuses < 1) SpawnBonusTimer.Interval = 0;
else SpawnBonusTimer.Interval = random(1, 0.3) * (8.0 / Level);