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; } }
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); }