Пример #1
0
        private string ReadWord(bool isFirstWord = false)
        {
            var    i    = 0;
            string word = string.Empty;

            //while (!MatrixHelper.MatrixContainsWordEnd(GameFieldToLines.ToList()))
            while (true)
            {
                var letter = LetterHelper.GetLetterFromMatrix(GameFieldToLines.ToList());
                word += letter;
                if (MatrixHelper.MatrixContainsWordEnd(GetWidedMatrixToRight()))
                {
                    MoveToRight(2);
                    break;
                }
                MoveToRight(8);
            }
            if (isFirstWord)
            {
                FirstWordWasDetected = word;
            }

            if (String.IsNullOrEmpty(FirstWordInRow))
            {
                FirstWordInRow = word;
            }
            if (Words.Take(5).ToList().Contains(word))
            {
                FirstWordInRow = String.Empty;
                MoveToDown(10);
                return(word);
            }
            Words.Add(word);
            return(word);
        }
Пример #2
0
        public void RunHorizontalLooping()
        {
            int    counter = 0;
            string word    = string.Empty;

            while (true)
            {
                MoveToRight();
                if (MatrixHelper.CountUnitsAtRightSide(GameFieldToString) > 0)
                {
                    MoveToRight(6);

                    char letter = LetterHelper.GetLetterFromMatrix(GameFieldToLines.ToList());
                    if (letter != 'E')
                    {
                        word = ReadWord();
                    }
                    else
                    {
                        MoveToDown();
                        var countUnitsOnBottom = MatrixHelper.CountUnitsAtBottomLine(GameFieldToString);
                        if (countUnitsOnBottom > 0)
                        {
                            DetectWordFromUnder();
                        }
                        else
                        {
                            DetectWordFromUpper();
                        }

                        GoToFirstLetter();
                        word = ReadWord();

                        FirstWordInRow = word;
                        counter        = 0;
                    }

                    if (counter != 0 && counter % 100 == 0)
                    {
                        MoveToDown(7);
                    }


                    //if (word == FirstWordWasDetected || (GameEndsIn <= DateTime.Now.AddSeconds(-10)))
                    //{
                    //    CloseSession();
                    //    break;
                    //}
                }
                counter++;
            }
        }