Esempio n. 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);
        }
Esempio n. 2
0
        private void GoToFirstLetter()
        {
            while (!MatrixHelper.MatrixContainsWordBegin(GameFieldToLines.ToList()))
            {
                MoveToLeft();
            }

            MoveToRight(2);
        }
Esempio n. 3
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++;
            }
        }
Esempio n. 4
0
        private List <string> GetWidedMatrixToRight()
        {
            var columnsAfterLetter = GameFieldToLines.ToList();

            MoveToRight(2);
            for (var index = 0; index < GameFieldToLines.ToList().Count; index++)
            {
                var s = GameFieldToLines.ToList()[index];

                columnsAfterLetter[index]  = columnsAfterLetter[index].Replace("\n", string.Empty);
                columnsAfterLetter[index] += s[5];
                columnsAfterLetter[index] += s[6];
            }
            MoveToLeft(2);
            return(columnsAfterLetter);
        }