コード例 #1
0
        private void ResetBoard() //generates a new map, pathfinder and grid
        {
            start  = new Point(0, 0);
            finish = new Point(xcells - 1, ycells - 1);

            path.Clear();
            while (path.Count == 0) //to prevent a blocked grid from generating
            {
                Map = GenerateRandomMap(xcells, ycells);

                pathfinder = new Pathfinder2(Map, start, finish, false);
                path       = pathfinder.FindPath();
            }

            myGrid    = new Grid(GetDrawRectangle(), Map.GetLength(0), Map.GetLength(1));
            reqRedraw = true;

            MyPlayer = new Player(start, this);
            enemies.Clear();
            for (int i = 0; i <= (xcells / 2 - 3); i++) //creates new enemies
            {
                Point ePoint = CreateRandomEnemy();
                Map[ePoint.X, ePoint.Y] = true;
            }

            this.Invalidate(); //to trigger redrawing of the form
        }
コード例 #2
0
    // Start is called before the first frame update
    void Start()
    {
        playerObject = Instantiate(playerPrefab);
        enemyObject  = Instantiate(enemyPrefab);

        _inputHandler = new InputHandler();
        _inputHandler.InputInit();
        _player      = new Player(playerObject);
        _powerUpPool = new ObjectPool <PowerUp>();

        _levelGeneration = new LevelGeneration(_player, _powerUpPool) as ILevelGenerator;
        _score           = new PointCounter();

        powerUpManager = new PowerUpManager();
        //powerUpManager.createRandomPowerUp(Instantiate(PowerUpPrefab).transform);

        _enemyStateMachine = new EnemyFSM();
        _enemyStateMachine.AddState(EnemyStateType.Idle, new IdleState());
        _enemyStateMachine.AddState(EnemyStateType.Attack, new AttackState());



        _levelGeneration = new LevelGeneration() as ILevelGenerator;

        _randomCoordinate = new RandomCoordinate(_levelGeneration);
        _pathfinder       = new Pathfinder2(_levelGeneration);
    }
コード例 #3
0
ファイル: Enemy.cs プロジェクト: akaNaymin/Pathfinding
 public void Detected(Point at) //runs when detects the player in Main
 {
     if (!at.Equals(goal))      //when the goal is changed
     {
         Active  = true;
         goal    = at;                                             //sets goal to new point
         pfinder = new Pathfinder2(form.Map, Location, at, false); //finds new path
         Path    = new Queue <Point>(pfinder.FindPath());
         if (Path.Count > 0)
         {
             Path.Dequeue(); //remove the top of the list since the first node is the enemy's location
         }
     }
 }
コード例 #4
0
        private void ResetBoard(bool[,] _map, Point _player, List <Point> _enemies) //resets board to loaded file
        {
            path.Clear();
            Map = _map;

            pathfinder = new Pathfinder2(Map, _player, finish, false);
            path       = pathfinder.FindPath();

            myGrid    = new Grid(GetDrawRectangle(), Map.GetLength(0), Map.GetLength(1));
            reqRedraw = true;

            MyPlayer = new Player(_player, this);

            enemies.Clear();
            foreach (Point p in _enemies) //creates new enemies
            {
                CreateEnemy(p);
                Map[p.X, p.Y] = true;
            }

            this.Invalidate(); //to trigger redrawing of the form
        }
コード例 #5
0
    // Start is called before the first frame update
    void Start()
    {
        _winScreen.gameObject.SetActive(false);
        _playerObject = Instantiate(_playerPrefab);

        _inputHandler = new InputHandler();
        _inputHandler.InputInit();
        _player      = new Player(_playerObject);
        _powerUpPool = new ObjectPool <PowerUp>();

        _levelGeneration = new LevelGeneration(_player, _powerUpPool) as ILevelGenerator;
        _score           = new PointCounter();

        _powerUpManager = new PowerUpManager();

        _enemyStateMachine = new EnemyFSM();
        _enemyStateMachine.AddState(EnemyStateType.Idle, new IdleState());
        _enemyStateMachine.AddState(EnemyStateType.Attack, new AttackState());

        _randomCoordinate = new RandomCoordinate(_levelGeneration);
        _pathfinder       = new Pathfinder2(_levelGeneration);
    }
コード例 #6
0
ファイル: Enemy.cs プロジェクト: akaNaymin/Pathfinding
 public Enemy(Point position, Main form) //initalizer
 {
     this.Location = position;
     this.form     = form;
     pfinder       = new Pathfinder2(form.Map, Location, Location, false);
 }