Esempio n. 1
0
        public void Game()
        {
            while (!ExitGame)
            {
                var savedLetters = _gameDataService.LoadDatas();
                //Console.Clear();
                Console.SetCursorPosition(40, 20);
                Console.WriteLine("Page {0}", Page);
                //pageCoef = (Page - 1) * 900;
                for (int i = 0; i < savedLetters.Count; i++)
                {
                    if (savedLetters[i].LetterPage == Page)
                    {
                        _runningLetter.CreateLetter(_runningLetters, savedLetters[i].TargetPositionX, savedLetters[i].TargetPositionY, savedLetters[i].Symbol, Page);
                    }
                }

                while (!FieldOver && !ChangePage)
                {
                    FillField();
                }
                LastLetter = _runningLetters.Count();
                SaveLetters();
                Page++;

                Console.Clear();
                ChangePage = false;
                FieldOver  = false;
            }
        }
Esempio n. 2
0
 public void CheckСollisionAtPosition(int targetX, int targetY, List <RunningLetter> _runningLetters, char symbol, int page)
 {
     if (_runningLetters.Count == 0)
     {
         _runningLetters.Add(new RunningLetter());
     }
     foreach (var letter in _runningLetters.ToArray())
     {
         if (letter.TargetPositionY == targetY && letter.Symbol == '@' && letter.LetterPage == page)
         {
             if (targetY == 27)
             {
                 targetY = 2;
                 _logic.Page++;
             }
             targetY++;
         }
         else if (letter.TargetPositionX == targetX && letter.TargetPositionY == targetY && letter.LetterPage == page)
         {
             if (targetX < 27)
             {
                 targetX++;
             }
             else if (targetX >= 27 && targetY < 27)
             {
                 targetY++;
                 targetX = 2;
             }
             else if (targetY == 27)
             {
                 targetY = 2;
                 _logic.Page++;
             }
         }
     }
     _runningLetter.CreateLetter(_logic._runningLetters, targetX, targetY, symbol, page);
 }