Did a bunch of stuff on the game logic

Nearly finished. Also, investigate whether some break statements aren’t
breaking properly if another method is called.