示例#1
0
    public override Vector3 FindEnemy()
    {
        Enemie closestEnemy = null;

        float distanceToClosestEnemy = Mathf.Infinity;

        Enemie[] allEnemies = FindObjectsOfType <Enemie>();

        foreach (Enemie currentEnemy in allEnemies)
        {
            float distanceToEnemy = (currentEnemy.transform.position - transform.position).sqrMagnitude;
            if (distanceToEnemy < distanceToClosestEnemy)
            {
                distanceToClosestEnemy = distanceToEnemy;
                closestEnemy           = currentEnemy;
            }
        }

        try
        {
            return(closestEnemy.transform.position);
        }

        catch (System.NullReferenceException)
        {
            return(gameObject.transform.position);
        }
    }
示例#2
0
    }     //closes battle()

    public void checkArmor(Enemie enemy)
    {
        if (Game.vikingPlayer.health <= 40)
        {
            Console.WriteLine("Your health % is in a critical level!");//Gives player a warning
            //if it's 0 or negative it sets it to 0(armor)
            if (Game.vikingPlayer.armor <= 0)
            {
                Game.vikingPlayer.armor = 0;
                Console.WriteLine("Your armor broke!");
                Game.vikingPlayer.health -= enemy.weaponDamage;
            }
            //if it's zero it tells the player they don't have any armor
            else if (Game.vikingPlayer.armor == 0)
            {
                Console.WriteLine("You don't have any armor.");
                Game.vikingPlayer.health -= enemy.weaponDamage;
            }
            //if they do have armor they get half the damage and the other half is applied to the armor
            else
            {
                Console.WriteLine("Your armor decreased the damage.");
                Game.vikingPlayer.armor -= (enemy.weaponDamage / 2);
                Console.WriteLine("You now have " + Game.vikingPlayer.armor + "% of armor");
                Game.vikingPlayer.health -= (enemy.weaponDamage / 2);
            }
        }
        //if your health is not in a critical level apply normal damage
        else
        {
            Game.vikingPlayer.health -= enemy.weaponDamage;
        }
    }
示例#3
0
    public void Encounter(int i, Enemie enemy)
    {
        switch (i)
        {
        case 0:
            Console.WriteLine("******************************************************************************");
            Console.WriteLine("You have encounter an " + enemy + "!!!!!!!!!!!!");
            Console.WriteLine("The " + enemy + " has a " + enemy.weaponEquiped);

            chooseMyWeapon();    //player chooses a weapon

            while (enemy.health >= 0 || Game.vikingPlayer.health >= 0)
            {
                if (myChoice == "run" || myChoice == "run away")
                {
                    myChoice = "";
                    break;
                }
                else if (enemy.health <= 0)
                {
                    Console.WriteLine("You killed the " + enemy);
                    Console.WriteLine("Your weapon broke! and you now have " + Game.vikingPlayer.health + "% of health.");
                    vikingPlayer.weaponInventory.Remove(Game.vikingPlayer.weaponEquiped);
                    Console.WriteLine("******************************************************************************");

                    break;
                }
                else if (Game.vikingPlayer.health <= 0)
                {
                    break;
                }

                else
                {
                    Random randomNum = new Random();
                    battle(enemy);
                }
            }
            break;

        default:
            Console.WriteLine("You decided to keep moving to the next area.");
            Console.WriteLine("******************************************************************************");

            break;
        }
    }
示例#4
0
    private void SetTarget()
    {
        float      HealthOld = 0, HealthNew;
        int        IndexOld = 0, IndexNew;
        GameObject tar = null;

        Collider2D[]      InRange = Physics2D.OverlapCircleAll(this.transform.position, range);
        List <GameObject> Enemies = new List <GameObject>();

        foreach (Collider2D other in InRange)
        {
            if (other.gameObject.tag == "Enemie")
            {
                Enemies.Add(other.gameObject);
            }
        }

        switch (Preference)
        {
        case 0:
            foreach (GameObject Enemie in Enemies)
            {
                IndexNew = Enemie.GetComponent <Script_enemie01>().Index;
                if (IndexOld == 0 || IndexOld > IndexNew)
                {
                    IndexOld = IndexNew;
                    tar      = Enemie;
                }
            }
            break;

        case 1:
            if (Enemies.Count != 0)
            {
                System.Random rnd      = new System.Random();
                int           selected = rnd.Next(0, Enemies.Count);
                tar = Enemies[selected];
            }
            break;

        case 2:

            foreach (GameObject Enemie in Enemies)
            {
                HealthNew = Enemie.GetComponent <Script_enemie01>().health;
                if (HealthNew > HealthOld)
                {
                    HealthOld = HealthNew;
                    tar       = Enemie;
                }
            }
            break;

        case 3:
            if (Enemies.Count != 0)
            {
                HealthOld = Enemies[0].GetComponent <Script_enemie01>().health;
            }
            foreach (GameObject Enemie in Enemies)
            {
                HealthNew = Enemie.GetComponent <Script_enemie01>().health;
                if (HealthNew < HealthOld)
                {
                    HealthOld = HealthNew;
                    tar       = Enemie;
                }
            }
            break;

        case 4:
            GameObject AlternativeTar = null;
            foreach (GameObject Enemie in Enemies)
            {
                IndexNew = Enemie.GetComponent <Script_enemie01>().Index;
                if (IndexOld == 0 || IndexOld > IndexNew)
                {
                    if (Enemie.GetComponent <Script_enemie01>().SlowTimer <= 0)
                    {
                        tar = Enemie;
                    }
                    IndexOld       = IndexNew;
                    AlternativeTar = Enemie;
                }
            }
            if (tar == null)
            {
                tar = AlternativeTar;
            }
            break;
        }


        target = tar;
    }
示例#5
0
 private void _on_EnemieDeath(Enemie enemie)
 {
     this.nbrEnnemieAlive     -= 1;
     this.mainCharacter.Kills += 1;
     this.isRoundOver();
 }
示例#6
0
 private void _on_EnemieSpawn(Enemie enemie)
 {
     this.nbrEnnemieAlive += 1;
     enemie.Connect("EnemieDeath", this, "_on_EnemieDeath");
 }
示例#7
0
    public void battle(Enemie enemy)
    {
        theOdds = randomNum.Next(0, 2);
        Console.WriteLine("******************************************************************************");
        Console.WriteLine("Will you 'attack', 'run away', 'eat' food, use 'item', 'change' weapon (type the word(s) inside the ' ')");
        myChoice = Console.ReadLine();
        switch (myChoice)
        {
        case "attack":
            if (theOdds == 0)
            {
                enemy.health -= Game.vikingPlayer.weaponDamage;
                Console.WriteLine("You attacked the " + enemy);
                Console.WriteLine("The " + enemy + " has " + enemy.health + "% of Health");    //displays the players total health
            }
            else if (theOdds == 1)
            {
                Console.WriteLine("You missed and the " + enemy + " attacked you. You lost " + enemy.weaponDamage + "% of health");    //gives feedback on the damage done.
                //checks to see if you have armor
                checkArmor(enemy);
                Console.WriteLine("you have " + Game.vikingPlayer.health + "% of Health");    //displays the players total health
            }
            break;

        case "run away":
            Console.WriteLine("You ran away");
            Console.WriteLine("******************************************************************************");

            break;

        case "eat":
            Game.vikingPlayer.displayFood();
            Game.vikingPlayer.eatFood();
            Console.WriteLine("While you were eating the " + enemy + " got stronger");
            enemy.weaponDamage += 5;
            break;

        case "item":
            useableItem = Game.vikingPlayer.displayItems();
            theOdds     = randomNum.Next(0, 2);
            if (useableItem == null)
            {
                Console.WriteLine("You don't have any items in your inventory");
                Console.WriteLine("The " + enemy + " got angry with you that he became stronger");
                enemy.weaponDamage += 5;
            }
            else if (theOdds == 0)
            {
                Console.WriteLine("******************************************************************************");
                Console.WriteLine("The " + enemy + " did not want your " + useableItem);
                Console.WriteLine("The " + enemy + " attacked you");
                checkArmor(enemy);
                Console.WriteLine("you have " + Game.vikingPlayer.health + "% of Health");    //displays the players total health
            }
            else if (theOdds == 1)
            {
                Console.WriteLine("the " + enemy + " accepted the " + useableItem + ". It made the enemy weaker");    //gives feedback on the damage done.
                enemy.weaponDamage -= 10;
                if (enemy.weaponDamage <= 0)
                {
                    enemy.weaponDamage = 1;
                }
            }
            break;

        case "change":
            chooseMyWeapon();
            Console.WriteLine("While you were changing your weapon the " + enemy + " got stronger");
            enemy.weaponDamage += 5;
            break;

        default:
            Console.WriteLine("Not a valid command");
            battle(enemy);
            break;
        } //closes switch
    }     //closes battle()
示例#8
0
 private void Awake()
 {
     m_enemie = GetComponent <Enemie>();
     anim     = GetComponent <Animator>();
 }