//Действия при нажатии Enter public static void PlayerEnterAction(Field field, ref bool isEnter, string[] allWords) { if (!isEnter) { Printer.DrawText(new string(' ', Console.WindowWidth - (field.XSize * 4 + 2)), Player.WordsList.Count); if (field.CellColor[Player.X, Player.Y] == Settings.FieldColor) { Printer.DrawFieldItem(Player.X, Player.Y, ColorsSet.ColorsList[Settings.PickedWordColor, 0], ColorsSet.ColorsList[Settings.PickedWordColor, 1], field); Player.WordNow += field.CellLetter[Player.X, Player.Y]; Printer.DrawText(Player.WordNow, Player.WordsList.Count); Player.CoordStory.Add(new int[] { Player.X, Player.Y }); } else { isEnter = !isEnter; } } else { if (field.WordsList.Contains(Player.WordNow) && field.WordPos[field.WordsList.IndexOf(Player.WordNow)][Player.WordNow.Length - 1].X == Player.X) { int color; if (Settings.IsRandomGuessedWordColor) { color = ColorsSet.GetRandomColorIndex(); } else { color = Settings.GuessedWordColor; } LogicMethods.ActionsIfWordSelected(field, color); Printer.DrawScore(Player.Score); } else { if (field.WordsList.Contains(Player.WordNow)) { Printer.DrawText("Попробуйте записать это слово наоборот или найти ещё одно такое же на поле", Player.WordsList.Count); } else if ((allWords as IList <string>).Contains(Player.WordNow)) { Printer.DrawText("Это не одно из слов, которое вам нужно отгодать на данном поле ):", Player.WordsList.Count); } else { Printer.DrawText("Такого слова нет в словаре", Player.WordsList.Count); } } BrakeFilling(field); } isEnter = !isEnter; }
private static void CheckWin(Field field, out bool isBreak) { isBreak = false; if (Player.WordsList.Count == field.WordsList.Count) { LogicMethods.ActionsIfWin(field); Printer.DrawPopupWindow("Вы отгодали все слова!"); Console.ReadKey(true); isBreak = true; } }