public string GetAnswerFromQuestion(Enigma enigma)
        {
            Utils.SlowConsoleWriter(" Le Boss vous pose cette colle : " + enigma.Question);
            Utils.SlowConsoleWriter("\n  0 : " + enigma.AnswerA + " \n  1 : " + enigma.AnswerB + "\n");

            string Response = Console.ReadLine();

            return(Response);
        }
        public void StartBossTurn(Player player, Monster monster, Enigma enigma)
        {
            // get boss questions

            double attackForce;
            double evasionForce;

            attackForce  = player.Item.BaseAttack;
            evasionForce = monster.Evasion;

            var resultFromRollDice = Randoming.RollDices(attackForce, evasionForce);
            var param = new { attack = 0, evasion = 1 };

            Utils.SlowConsoleWriter(resultFromRollDice[param.attack] + " / " + resultFromRollDice[param.evasion]);
            double damageDeal;


            // begin interactive phase
            var Response = GetAnswerFromQuestion(enigma);

            while (Response != "0" && Response != "1")
            {
                Utils.SlowConsoleWriter(" Veuillez entrer une réponse valide ! ");
                Response = GetAnswerFromQuestion(enigma);
            }
            ;

            if (Response == "0")
            {
                Response = enigma.AnswerA;
            }
            else
            {
                Response = enigma.AnswerB;
            }

            if (Response == enigma.Answer)
            {
                damageDeal = (resultFromRollDice[param.attack] - (resultFromRollDice[param.attack] * (resultFromRollDice[param.evasion] == 0 ? (1 / 100) : (resultFromRollDice[param.evasion] / 100)))) * 2;
                Utils.SlowConsoleWriter("Bonne réponse ! Vous attaquez avec un bonus ! ");
                Utils.SlowConsoleWriter("Vous infligez " + damageDeal + " de dégat !");
                monster.Health -= (damageDeal);
                Utils.SlowConsoleWriter("Il lui reste : " + monster.Health + "hp");
            }
            else
            {
                damageDeal = (resultFromRollDice[param.attack] - (resultFromRollDice[param.attack] * (resultFromRollDice[param.evasion] == 0 ? (1 / 100) : (resultFromRollDice[param.evasion] / 100)))) * 0.2;
                Utils.SlowConsoleWriter("Mauvaise réponse ! Vous attaquez avec un malus !");
                Utils.SlowConsoleWriter("Vous infligez " + damageDeal + " de dégat !");
                monster.Health -= (damageDeal);
                Utils.SlowConsoleWriter("Il lui reste : " + monster.Health + "hp");
            }
        }
Beispiel #3
0
        public void StartGame()
        {
            var item  = new ItemRepository();
            var items = item.GetItems();

            var lootphase = new Lootphase();

            Console.WriteLine("Heuh j'ai affaire à qui la ?? (Entrez votre nom) :");
            var playerName = Console.ReadLine();

            var dialogue = new DialogueRepository();

            dialogue.ShowDialogue("Intro", dialogue.GetDialogue(), Utils.random);

            var playerItem = lootphase.DroppedItems(items, Utils.random);
            var player     = new Player(0, playerName, Utils.random.Next(25, 100), playerItem.IdItem, playerItem, Utils.random.Next(5, 25));
            var monster    = new MonsterRepository();
            var monsters   = monster.GetMonsters();
            var stage      = new Stage();
            var dialogues  = dialogue.GetDialogue();

            var resultstage = stage.StartStage(player, monsters, monster, items, dialogues);

            if (resultstage == true)
            {
                int i = 0;
                do
                {
                    resultstage = stage.StartStage(player, monsters, monster, items, dialogues);
                    i++;
                }while (resultstage == true && i < 4);
                if (resultstage == true)
                {
                    var  bossbattle       = new BossBattle();
                    var  enigma           = new EnigmaRepository();
                    var  ramdomEnigma     = new Enigma();
                    bool bossbatlleresult = bossbattle.BossBattleResult(player, monster.MonsterChoosen(monsters, Utils.random), enigma.GetEnigma());
                }
            }
            else
            {
                Console.WriteLine("Vous avez perdu !");
            }
        }