public ErrorMessage PlayGame()//the actual gameplay of the game, the action that occur at each timer tick { grid.Draw(); snake.Draw(); if (frog.Alive == false) { frog.Position = FindFreeCell(); frog.Alive = true; } frog.Draw(); snake.Move(); ErrorMessage message = ErrorMessage.noError; if (snake.CheckWall() == true) { message = ErrorMessage.snakeHitWall; frog.Alive = false; } if (snake.CheckSelf() == true) { message = ErrorMessage.snakeHitSelf; frog.Alive = false; } if (snake.EatFrog(frog.Position) == true) { frog.Alive = false; snake.Grow(); message = ErrorMessage.snakeEatenFrog; } return(message); }