コード例 #1
0
    public void PlayersTurn(IInitialHexes getInitialHexes)
    {
        IAdjacentFinder adjFinder  = GetTypeOfHero();          // determina el tipo de movimiento
        int             stepsLimit = heroData.CurrentVelocity; // obtiene la velocidad actual del atacante

        // determina posibles posiciones para el regimiento de un jugador
        GetComponent <AvailablePos>().GetAvailablePositions(stepsLimit, adjFinder, getInitialHexes);
        DefineTargets();// muestra objetivos potenciales
    }
コード例 #2
0
    public void PlayersTurn(IInitialHexes getInitialHexes)
    {
        IAdjacentFinder adjFinder  = GetTypeOfHero();          //determines the type of movement
        int             stepsLimit = heroData.CurrentVelocity; //gets current velocity of the atacker

        //determines possible positions for a player’s regiment
        GetComponent <AvailablePos>().GetAvailablePositions(stepsLimit, adjFinder, getInitialHexes);
        DefineTargets();//displays potencial targets
    }
コード例 #3
0
    void AIIStartsMoving(BattleHex targetToAttack)                               //determines the distance from the attack target to each hex
    {
        battleController.CleanField();                                           //clear properties of all hexes before new calculation
        targetToAttack.DefineMeAsStartingHex();                                  //the starting hex is the hex occupied by the target of the attack
        int           stepsLimit      = battleController.stepsToCheckWholeField; //number of steps enough to check the entire battlefield
        IInitialHexes getInitialHexes = new InitialPos();                        //each hex validation rule

        //determines the distance from the attack target to each hex
        tocheckTheField.GetAvailablePositions(stepsLimit, getInitialHexes, targetToAttack);
        IAdjacentFinder adjFinder = BattleController.currentAtacker.GetTypeOfHero(); //determines the type of movement

        AIDefinesPath(adjFinder);                                                    //determines the optimal path and starts moving
    }
コード例 #4
0
 public void GetAvailablePositions(HexBattale startingHex, int stepsLimit, IAdjacentFinder AdjFinder)
 {
     AdjFinder.GetAdjacentHexesExtended(startingHex);
     for (step = 2; step <= stepsLimit; step++)
     {
         initialHexes = GetNewInitialHexes();
         foreach (HexBattale hex in initialHexes)
         {
             AdjFinder.GetAdjacentHexesExtended(hex);
             hex.isIncluded = true;
         }
     }
 }
コード例 #5
0
ファイル: Enemy.cs プロジェクト: JoseCarlosPa/videojuegos
    void AIIStartsMoving(BattleHex targetToAttack)                               // determina la distancia desde el objetivo del ataque a cada hex
    {
        battleController.CleanField();                                           // borrar las propiedades de todos los hexes antes de un nuevo cálculo
        targetToAttack.DefineMeAsStartingHex();                                  // el hex de inicio es el hex ocupado por el objetivo del ataque
        int           stepsLimit      = battleController.stepsToCheckWholeField; // número de pasos suficientes para comprobar todo el campo de batalla
        IInitialHexes getInitialHexes = new InitialPos();                        // cada regla de validación hexadecimal

        // determina la distancia desde el objetivo del ataque a cada hex
        tocheckTheField.GetAvailablePositions(stepsLimit, getInitialHexes, targetToAttack);
        IAdjacentFinder adjFinder = BattleController.currentAtacker.GetTypeOfHero(); // determina el tipo de movimiento

        AIDefinesPath(adjFinder);                                                    // determina la ruta óptima y comienza a moverse
    }
コード例 #6
0
    void AIDefinesPath(IAdjacentFinder adjFinder)//determines the optimal path and starts moving
    {
        //assigns a value to the static variable used by the Move and Optimal Path classes
        BattleController.targetToMove = AISelectsPosToOcuppy();
        battleController.CleanField();                    // clear the entire battlefield from previous calculations
        IInitialHexes getInitialHexes = new InitialPos(); //each hex validation rule
        int           stepsLimit      = hero.heroData.CurrentVelocity;
        BattleHex     startingHex     = BattleController.currentAtacker.GetComponentInParent <BattleHex>();

        startingHex.DefineMeAsStartingHex();//marks a new starting hex

        //select all the hexes that the troll can occupy
        availablePos.GetAvailablePositions(stepsLimit, adjFinder, getInitialHexes);
        GetComponent <OptimalPath>().MatchPath(); //determine the optimal path
        move.StartsMoving();                      //troll begins to move
    }
コード例 #7
0
ファイル: Enemy.cs プロジェクト: JoseCarlosPa/videojuegos
    void AIDefinesPath(IAdjacentFinder adjFinder)// determina la ruta óptima y comienza a moverse
    {
        // asigna un valor a la variable estática utilizada por las clases Move y Optimal Path
        BattleController.targetToMove = AISelectsPosToOcuppy();
        battleController.CleanField();                    // limpia todo el campo de batalla de los cálculos anteriores
        IInitialHexes getInitialHexes = new InitialPos(); // cada regla de validación hexadecimal
        int           stepsLimit      = hero.heroData.CurrentVelocity;
        BattleHex     startingHex     = BattleController.currentAtacker.GetComponentInParent <BattleHex>();

        startingHex.DefineMeAsStartingHex();// marca un nuevo hexadecimal inicial

        // selecciona todos los hexes que puede ocupar el troll
        availablePos.GetAvailablePositions(stepsLimit, adjFinder, getInitialHexes);
        GetComponent <OptimalPath>().MatchPath(); // determina la ruta óptima
        move.StartsMoving();                      // El troll comienza a moverse
    }
コード例 #8
0
    List <BattleHex> initialHexes = new List <BattleHex>(); //collects neighbouring hexes for evaluated hex

    public void GetAvailablePositions(int stepsLimit,
                                      IAdjacentFinder AdjFinder, IInitialHexes getHexesToCheck)//looks for all positions available
    {
        BattleHex startingHex = BattleController.currentAtacker.GetComponentInParent <BattleHex>();

        AdjFinder.GetAdjacentHexesExtended(startingHex);//looks for hexes adjacent to starting hex. Flying unit for now
        //runs iterations to find all positions available. steps=number of iterations
        for (step = 2; step <= stepsLimit; step++)
        {
            initialHexes = getHexesToCheck.GetNewInitialHexes();//collects hexes ready for a new iteration
            foreach (BattleHex hex in initialHexes)
            {
                AdjFinder.GetAdjacentHexesExtended(hex); // defines neighbouring hexes for each hex in the collection
                hex.isIncluded = true;                   //defines evaluated hex as available position
            }
        }
    }
コード例 #9
0
    List <BattleHex> initialHexes = new List <BattleHex>(); // recopila los hexes vecinos para el hex evaluado

    public void GetAvailablePositions(int stepsLimit,
                                      IAdjacentFinder AdjFinder, IInitialHexes getHexesToCheck)// busca todas las posiciones disponibles
    {
        BattleHex startingHex = BattleController.currentAtacker.GetComponentInParent <BattleHex>();

        AdjFinder.GetAdjacentHexesExtended(startingHex);// busca hexágonos adyacentes al hex inicial. Unidad voladora por ahora
        // ejecuta iteraciones para encontrar todas las posiciones disponibles. pasos = número de iteraciones
        for (step = 2; step <= stepsLimit; step++)
        {
            initialHexes = getHexesToCheck.GetNewInitialHexes();// recopila hexágonos listos para una nueva iteración
            foreach (BattleHex hex in initialHexes)
            {
                AdjFinder.GetAdjacentHexesExtended(hex); // define los hexes vecinos para cada hex de la colección
                hex.isIncluded = true;                   // define el hexadecimal evaluado como posición disponible
            }
        }
    }