private static bool FeelOneWordTryesController(FieldItem[,] field, WordsAndColors word) { FieldItem[,] saveField = new FieldItem[field.GetLength(0), field.GetLength(1)]; ArrayCopy(field, saveField); for (int tryes = 0; tryes < 10; tryes++) { Console.WriteLine("попытка засунуть слово {0} N {1}", word.Word, tryes); if (TryFeelOneWordInFieldUp(field, word)) { return(true); } Console.WriteLine("попытка засунуть слово {0} не удалась", word.Word); ArrayCopy(saveField, field); } return(false); }
private static bool TryFeelOneWordInFieldUp(FieldItem[,] field, WordsAndColors word) { FieldItem nowFieldItem = new FieldItem(); for (int i = 0; i < word.Word.Length; i++) { Console.WriteLine("попытка засунуть {0} букву", i); nowFieldItem = SearchFreeFieldOrReturnNullIfEmpty(field, nowFieldItem, i == 0); if (nowFieldItem == null) { return(false); } nowFieldItem.Letter = word.Word.ToCharArray()[i]; nowFieldItem.ConsoleColor = word.ConsoleColor; PrintField(field); Console.WriteLine(); } return(true); }