Esempio n. 1
0
        public void Reinizialize()
        {
            pathfound = false;
            if (pathfinder != null)
            {
                pathfinder.PathFound -= pathfinder_PathFound;
                pathfinder.Abort();
                pathfinder.Stop();
            }
            Random rand = new Random((int)DateTime.Now.Ticks);
            mapnodes = new Node[mapsize, mapsize];
            for (int y = 0; y < mapsize; y++)
            {
                for (int x = 0; x < mapsize; x++)
                {

                    mapnodes[y, x] = new Node(x, y, size, rand.Next(0, 100) < percentage ? Walkable.Blocked : Walkable.Walkable);

                }
            }
            mapnodes[yaim, xaim] = new Node(xaim, yaim, size, Walkable.Walkable);
            mapnodes[5, 2] = new Node(2, 5,size, Walkable.Walkable);
            AStarMap.InitializeMap(mapnodes);
            pathfinder = new AStar();
            pathfinder.PathFound += new PathFoundEventHandler(pathfinder_PathFound);

            pathfinder.FindWay(mapnodes[5, 2], mapnodes[yaim, xaim]);
        }
Esempio n. 2
0
        protected override void Initialize()
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);
            Services.AddService(typeof(SpriteBatch), _spriteBatch);

            _map = new Map(7, 7, 90, this);
            _aStar = new AStar(_map);

            Components.Add(_map);

            base.Initialize();
        }
Esempio n. 3
0
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                Exit();

            var keyboardState = Keyboard.GetState();

            if(keyboardState.IsKeyDown(Keys.P) && _previousKeyboardState.IsKeyDown(Keys.P) == false)
            {
                _aStar.CalculatePath();
            }

            if (keyboardState.IsKeyDown(Keys.R) && _previousKeyboardState.IsKeyDown(Keys.R) == false)
            {
                _map.Reset();
                _aStar = new AStar(_map);
            }

            _previousKeyboardState = keyboardState;

            base.Update(gameTime);
        }
Esempio n. 4
0
 private void InitializeKI()
 {
     astar = new AStar();
     astar.PathFound += new PathFoundEventHandler(astar_PathFound);
     nodeTex = Content.Load<Texture2D>("Stuff/Node");
     font = Content.Load<SpriteFont>("Stuff/Arial");
     if (enemyvariables[EnemyVariables.PlayerTracking].Trim() == PlayerTracking.Tracking.ToString())
     {
         tracking = PlayerTracking.Tracking;
         usesKI = true;
     }
     else
         tracking = PlayerTracking.NotTracking;
     //timeFromLastSearch = 0;
 }