Firstly, we're going to start with people calling for someone to get fired over a zero handling failure and lose their income. (Zero is there regardless of what you do, you need to compensate for it in most programming languages, of which I've used 20+.) If you genuinely believe someone should be fired for this, call your boss right now and tell him to fire you, because I guarantee you've made much bigger mistakes at your job, without exception. Why? Because it's impossible that you haven't. Zero handling mistakes are one of the most common mistakes in programming, because we live in a world that doesn't start at zero. It's unbelievably easy to miss an instance of zero handling. It would be the equivalent of putting 3 pickles on a burger instead of 4 while being rushed.

Unfortunately, it still sucks and this particular zero handling error effects a lot of people. Yeah, if you have to do the lotto again you may have a lot worse chances this time around depending on how they handle it. But it's a video game, and you're calling for people to get fired because you didn't get your pixel house this time due to a very easy to make mistake? Are you for real?

Now, as for information on how this happens, there seems to be a lot of confusion but we've actually figured it out since a lot of the community has knowledge about programming. We've established an array of entrants looks like this:

[0, 1, 2, 3, 4, 5, 6, 7, 8] = Array of 8 lottery entrants.

It doesn't change with zero handling, zero is still there, that's why this can be confusing. However, they forgot to exclude zero from the potential winners for some reason(There's a plethora of possible causes, one I'll mention later), so 8 entrants meant 9 competitors.

Misconception: So when selecting the winner the next should have won! If it rolled 8 that just means 1 should have!

This is not true. The winning number isn't generated by a prize wheel that you need to physically spin. Random numbers are generated separately from the array and then used to select the item in the array, aka, the winner.

You take the number at the end and the number at the beginning and make a random number starting from the first and ending with the last. Once you get that number, you tell the array, "Here, give me the number in this position of the array" and give it the generated number. We can likely disregard decimals as most random number generation in programming can be and should be simplified to integers.(Meaning 1, 2, 3, etc.) It's likely that the failure was forgetting to add +1 to the first number.

Misconception: Well nobody won fairly because every winner should have been the next one!

Once again, it's not Wheel of Fortune. If nobody with one bid had won or no final numbers had won this would be an off by one error not a zero handling error. However, we know for a fact single bids and final numbers won, so this is not possible.