コード例 #1
0
        public Character StartSimulation()
        {
            int characterPlaying = RandomEngine.DoesItHappens(50) ? 0 : 1;

            do
            {
                characterPlaying = (characterPlaying + 1) % 2;
                Debug.WriteLine(Characters[characterPlaying].Name + " is Attacking");
                if (!this.DoesDefenderEscape(characterPlaying))
                {
                    var dmg = this.CalculateDamage(characterPlaying);
                    Characters[(characterPlaying + 1) % 2].CurrentHitPoint -= dmg;
                    Debug.WriteLine(Characters[characterPlaying].Name + " inflige " + dmg + " dégats");
                }
                else
                {
                    Debug.WriteLine(Characters[(characterPlaying + 1) % 2].Name + " Esquive !");
                }
                this.StrokesFired++;

                Debug.WriteLine(Characters[(characterPlaying + 1) % 2].Name + " " + Characters[(characterPlaying + 1) % 2].CurrentHitPoint + "HP");
                Debug.WriteLine("=======================");
            } while (!this.IsGameOver(characterPlaying));

            foreach (var character in Characters)
            {
                character.Heal();
            }

            return(Characters[characterPlaying]);
        }
コード例 #2
0
 private bool DoesAttackerCrit(int playerAttacking)
 {
     return(RandomEngine.DoesItHappens(Characters[playerAttacking].CriticalHit));
 }
コード例 #3
0
 private bool DoesDefenderEscape(int playerAttacking)
 {
     //Si mage
     return(Characters[playerAttacking].IgnoreArmor ? false : RandomEngine.DoesItHappens(Characters[(playerAttacking + 1) % 2].EscapePercent));
 }