`game::zombie` should not be called with -1 as parameter, you have to check this case before calling it, other wise the game will ~~explode~~ crash.

In the code below: why don't you use `z` more often instead of calling `g->zombie(mondex)` over and over again.