/// <summary> /// Вызов действия /// </summary> /// <param name="indexString">Входной индекс (определяет в активной руке номер карты, которой нужно походить; если -1, то вызов альтернативных действий)</param> public void MakeMove(string indexString) { // игра окончена, если нечем играть if ((HandPlayer1Box.Count == 0 || HandPlayer2Box.Count == 0) && DeckBox.Count() == 0) { PrintLogs("Игра окончена"); return; } // определение хода в зависимости от режима bool answer; if (Mode == GameMode.HumanVsHuman) { int index = ConvertIndex(indexString); answer = GameModeHumanVsHuman(index); } else if (Mode == GameMode.HumanVsAi) { answer = GameModeHumanVsAi(indexString); } else if (Mode == GameMode.AiVsAi) { answer = GameModeAiVsAi(); } else { throw new Exception("GameMode накрылся"); } if (answer) { ChangeActivePlayer(); } }