fixed end-tie functionality. Still TODO: double-tie functionality
adds support for endGame() and adds checks throughout the methods. Still TODO: render Game Over view