public void Execute(params string[] parameters) { try { var move = new Move(parameters); var result = game.ProcessMove(move); if (!result.Success) { Console.WriteLine("Неверный ход: {0}", result.Message); } else { gui.Refresh(); if (game.Result.GameHasFinished) { if (game.Result.Winner != null) { Console.WriteLine("{0} выиграли!", game.Result.Winner.Color); } else { Console.WriteLine("ничья!"); } app.Exit(); Console.ReadKey(); } app.Welcome = game.CurrentPlayer.Color; } } catch (InvalidCellException ex) { Console.WriteLine("Не удалось распознать строку `{0}` как координаты клетки", ex.StringRepresentation); } }