예제 #1
0
        public void Run()
        {
            InitiolyzeFoodWall();
            InitiolyzePacman();
            InitiolyzeEnemys();

            _printGameField(_map);
            _printCell(_pacman);
            _printScore(_score);

            for (int i = 0; i < _enemys.Length; i++)
            {
                _printCell(_enemys[i]);
            }

            do
            {
                Thread.Sleep(300);

                _hideCell(_pacman);

                for (int i = 0; i < _enemys.Length; i++)
                {
                    if (_map[_enemys[i].Coord.Y, _enemys[i].Coord.X] == null)
                    {
                        _hideCell(_enemys[i]);
                    }
                    else
                    {
                        _printCell(_map[_enemys[i].Coord.Y, _enemys[i].Coord.X]);
                    }
                }

                for (int i = 0; i < _enemys.Length; i++)
                {
                    _enemys[i].Move();
                }

                _pacman.CheckChangeDirection(); //получаем направление
                _pacman.Move();

                _printCell(_pacman);

                for (int i = 0; i < _enemys.Length; i++)
                {
                    _printCell(_enemys[i]);
                }
            } while (CanPlay());

            if (_countFood == 0)
            {
                Console.WriteLine("win");
            }
            else
            {
                Console.WriteLine("gg");
            }
        }