/// <summary> /// Timer event action /// </summary> /// <param name="source"></param> /// <param name="e"></param> private void Move(object source, ElapsedEventArgs e) { gameController.MoveSnake(); //move the snake switch (gameController.CheckCollisions()) { case 0: //dead timer.Stop(); callback.UpdateSnake(null); break; case 2: //grow callback.UpdateSnake(gameController.GetSnake()); callback.UpdateBoard(gameController.GetBoard()); break; default: //go on callback.UpdateSnake(gameController.GetSnake()); break; } }