Exemplo n.º 1
0
        public void erstelleMonster(Gegner Monster, double MonsterStarke)
        {
            Random randMonster = new Random();
            int    zufallsZahl = randMonster.Next(1, 6);

            if (MonsterStarke <= 2)
            {
                switch (zufallsZahl)
                {
                case 1: Monster.MonsterTyp = "Wolf"; MonsterHP = Convert.ToInt32(20 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(20 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(2 * MonsterStarke); break;

                case 2: Monster.MonsterTyp = "Golem"; MonsterHP = Convert.ToInt32(30 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(30 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(1 * MonsterStarke); break;

                case 3: Monster.MonsterTyp = "Bandit"; MonsterHP = Convert.ToInt32(15 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(15 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(2 * MonsterStarke); break;

                case 4: Monster.MonsterTyp = "Schlange"; MonsterHP = Convert.ToInt32(10 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(10 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(3 * MonsterStarke); break;

                case 5: Monster.MonsterTyp = "Wegelagerer"; MonsterHP = Convert.ToInt32(25 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(25 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(2 * MonsterStarke); break;
                }
            }
            else
            {
                switch (zufallsZahl)
                {
                case 1: Monster.MonsterTyp = "Drakin"; MonsterHP = Convert.ToInt32(30 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(30 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(5 * MonsterStarke); break;

                case 2: Monster.MonsterTyp = "Elementar"; MonsterHP = Convert.ToInt32(50 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(25 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(3 * MonsterStarke); break;

                case 3: Monster.MonsterTyp = "BanditBoss"; MonsterHP = Convert.ToInt32(25 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(15 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(4 * MonsterStarke); break;

                case 4: Monster.MonsterTyp = "GiftSchlange"; MonsterHP = Convert.ToInt32(15 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(15 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(5 * MonsterStarke); break;

                case 5: Monster.MonsterTyp = "Raptor"; MonsterHP = Convert.ToInt32(35 * MonsterStarke); MonsterMaxHP = Convert.ToInt32(35 * MonsterStarke);
                    MonsterAngriff         = Convert.ToInt32(4 * MonsterStarke); break;
                }
            }
        }
Exemplo n.º 2
0
        //Kampfsystem

        public void starteKampf(Spieler Spieler1, Gegenstande Inventar, HeldStatus HUD, Karte Karte)
        {
            //Kampf Initsialisieren Objekte erstellen Werte zuweisen

            Boolean        istImKampf         = true;
            Random         randMonsterSchaden = new Random();
            Random         randSchaden        = new Random();
            Random         randBlockchance    = new Random();
            Gegner         Monster            = new Gegner();
            ConsoleKeyInfo taste;

            Monster.erstelleMonster(Monster, Karte.Level);

            //Kampfwerte Übergeben

            int SpielerHP      = Spieler1.getSpielerLeben;
            int SpielerMaxHP   = Spieler1.getSpielerMaxLeben + Spieler1.getSpielerRingHP;
            int SpielerArmor   = Spieler1.getSpielerArmor;
            int SpielerAngriff = Spieler1.getSpielerAngriff + Spieler1.getSpielerWaffe;



            //Monster Werte

            int    MonsterHP      = Monster.getMonsterHP;
            int    MonsterMaxHP   = Monster.getMonsterMaxHP;
            int    MonsterAngriff = Monster.getMonsterAngriff;
            String MonsterTyp     = Monster.getMonsterTyp;
            int    MonsterKrit    = 0;



            //StartText

            HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerAngriff, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterAngriff, 1);

            //Monster erstellen

            while (istImKampf == true)
            {
                //Kritschischer Treffer


                taste = Console.ReadKey();

                switch (taste.Key)
                {
                //Angriff !

                case ConsoleKey.A:

                    //Spielerschaden

                    int SpielerSchaden = SpielerAngriff + randSchaden.Next(1, 5);

                    MonsterHP = MonsterHP - SpielerSchaden;
                    HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerSchaden, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterAngriff, 2);

                    //Monsterschaden

                    int MonsterSchaden = MonsterAngriff + randMonsterSchaden.Next(1, 5) - SpielerArmor;

                    if (MonsterKrit == 5)
                    {
                        MonsterSchaden = 5 + Convert.ToInt32(MonsterSchaden * 1.5);
                    }

                    if (MonsterSchaden <= 0)
                    {
                        MonsterSchaden = 0;
                    }
                    SpielerHP = SpielerHP - MonsterSchaden;

                    //HUD Aktualisieren

                    HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerSchaden, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterSchaden, 3);


                    break;

                //Verteidigen


                case ConsoleKey.D:

                    int Block = randBlockchance.Next(1, 5);
                    int SpielerSchadenBlock = SpielerAngriff + randSchaden.Next(1, 3);
                    int MonsterSchadenBlock = MonsterAngriff + randMonsterSchaden.Next(1, 5) - SpielerArmor;

                    switch (Block)
                    {
                    //Fall nicht geblockt !

                    case 1:

                        MonsterSchadenBlock = MonsterAngriff + randMonsterSchaden.Next(1, 5) - SpielerArmor;

                        //Bei Krit Schaden erhöhen

                        if (MonsterKrit == 5)
                        {
                            MonsterSchadenBlock = MonsterSchadenBlock * 2;
                        }

                        if (MonsterSchadenBlock <= 0)
                        {
                            MonsterSchadenBlock = 0;
                        }


                        SpielerHP = SpielerHP - MonsterSchadenBlock;

                        //HUD Aktualisieren

                        HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerSchadenBlock, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterSchadenBlock, 6); break;

                    //Fall geblockt !

                    default:

                        MonsterSchadenBlock = randBlockchance.Next(1, 5);
                        MonsterHP           = MonsterHP - MonsterSchadenBlock;
                        HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerSchadenBlock, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterSchadenBlock, 5);
                        HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerSchadenBlock, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterSchadenBlock, 1); break;
                    }
                    break;
                }

                HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerAngriff, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterAngriff, 1);

                //Gewonnen oder verloren

                if (SpielerHP <= 0)
                {
                    Console.Clear();
                    HighScore Spiel = new HighScore();
                    Spiel.dateiErstellen(Spieler1, Spieler1.getPunktZahl);
                    Spiel.dateiLesen(Spieler1);
                    System.Environment.Exit(0);
                }

                if (MonsterHP <= 0)
                {
                    //Game Over

                    if (SpielerHP <= 0)
                    {
                        Console.Clear();
                        HighScore Spiel = new HighScore();
                        Spiel.dateiErstellen(Spieler1, Spieler1.getPunktZahl);
                        Spiel.dateiLesen(Spieler1);
                        System.Environment.Exit(0);
                    }
                    Spieler1.setSpielerLeben = SpielerHP;
                    HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, SpielerAngriff, MonsterHP, MonsterMaxHP, MonsterTyp, MonsterAngriff, 4);

                    int Erfahrung = Convert.ToInt32(Karte.Level);

                    Spieler1.setSpielerErfahrung = Spieler1.getSpielerErfahrung + Erfahrung;
                    Spieler1.setPunktzahl        = Spieler1.getPunktZahl + 5 + Erfahrung;
                    Spieler1.levelUP(Spieler1);
                    HUD.zeichneHud(Spieler1, Inventar);
                    break;
                }

                //Crit oder kein Crit

                MonsterKrit = randMonsterSchaden.Next(1, 7);

                if (MonsterKrit == 5)
                {
                    HUD.erstelleKampftext(SpielerHP, SpielerMaxHP, 0, MonsterHP, MonsterMaxHP, MonsterTyp, 0, 7);
                }
            }

            //Game Over

            if (SpielerHP <= 0)
            {
                Console.Clear();
                HighScore Spiel = new HighScore();
                Spiel.dateiErstellen(Spieler1, Spieler1.getPunktZahl);
                Spiel.dateiLesen(Spieler1);
                System.Environment.Exit(0);
            }
        }