/// <summary>
        /// После нахождения первого слова двигается вниз до тех пор пока снова не встретит первое слово,
        /// по пути распознает все попавшиеся слова
        /// </summary>
        /// <param name="firstWord">Экземпляр первого слова</param>
        /// <param name="searchedWords">Коллекция найденных слов</param>
        private void MoveToDownAndRecognizeWords(Word firstWord, SortedDictionary <int, List <Word> > searchedWords)
        {
            while (true)
            {
                while (currentVisibleArea.GetCellCoordWithOne() == null)
                {
                    Move("down", 1);
                }

                var cellWithOne = currentVisibleArea.GetCellCoordWithOne();

                //если координата ячейки с единицей принадлежит какому-либо найденному слову, то пропускаем ее
                if (CellInWord(new Coordinates(locationCurrentVisibleArea.x + cellWithOne.x, locationCurrentVisibleArea.y - cellWithOne.y), searchedWords))
                {
                    Move("down", 1);
                }
                else
                {
                    var word = RecognizeWord();
                    Console.WriteLine(word.value + "  " + api.GetStatistics().moves);

                    if (word.value == firstWord.value)
                    {
                        leftDownCorner = word.location;

                        mapHeight = leftUpCorner.y - leftDownCorner.y;

                        AddWordIntoSearchedWords(word, searchedWords);
                        break;
                    }
                    else
                    {
                        AddWordIntoSearchedWords(word, searchedWords);
                    }
                }
            }
        }
Esempio n. 2
0
 private static void WriteStatistics(GameAPI api)
 {
     Console.WriteLine("Сделано ходов - " + api.GetStatistics().moves);
     Console.WriteLine("Найдено слов - " + api.GetStatistics().words);
     Console.WriteLine("Получено окочков - " + api.GetStatistics().points);
 }