/// <summary> /// кто-то выиграл игру /// </summary> /// <param name="line">Line.</param> void WinGame(List <int> line) { StopGameMsg m = new StopGameMsg(); StopGameParam p = new StopGameParam(); p.totalPlay = ++_countPlay; if (_allCells [line [0]].symbol == CellSymbol.X) { _countWin++; p.win = true; } else { _countLose++; p.win = false; } p.totalX = _countWin; p.totalO = _countLose; p.line = line.ToArray(); p.draw = false; StopGame(p); m.param = p; m.param.win = !p.win; _server.SendMsg(m); Invoke("StartGame", 3f); }
/// <summary> /// игра окончена /// </summary> /// <param name="p">параметры </param> void StopGame(StopGameParam p) { _playGame = false; if (p.draw) { _ui.ShowMsg("Ничья"); } else if (p.win) { _ui.ShowMsg("Вы выиграли"); } else { _ui.ShowMsg("Вы проиграли"); } if (p.line != null) { for (int i = 0; i < p.line.Length; i++) { _allCells [p.line [i]].Highlight(true); } } _ui.CountLevel(p.totalPlay); _ui.CountX(p.totalX); _ui.CountO(p.totalO); }
/// <summary> /// игра закончилась ничьей /// </summary> void DrawGame() { StopGameMsg m = new StopGameMsg(); StopGameParam p = new StopGameParam(); p.totalPlay = ++_countPlay; p.totalX = _countWin; p.totalO = _countLose; p.draw = true; StopGame(p); m.param = p; _server.SendMsg(m); Invoke("StartGame", 3f); }