Esempio n. 1
0
        private static void GetSurvivorValues(SurvivorStage stage, out int lifes, out int pillz)
        {
            switch (stage)
            {
            case SurvivorStage.Stage1Pillz12Lives12:
                pillz = 12;
                lifes = 12;
                break;

            case SurvivorStage.Stage2Pillz11Lives13:
                pillz = 11;
                lifes = 13;
                break;

            case SurvivorStage.Stage3Pillz10Lives14:
                pillz = 10;
                lifes = 14;
                break;

            case SurvivorStage.Stage4Pillz9Lives15:
                pillz = 9;
                lifes = 15;
                break;

            case SurvivorStage.Stage5to9Pillz8Lives15:
                pillz = 8;
                lifes = 15;
                break;

            default:
                throw new Exception("Should never arrive here.");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Returns a new instance of <see cref="Combat"/> fit for survivor game mode.
        /// </summary>
        /// <param name="leftHand">Left player hand.</param>
        /// <param name="rightHand">Right player hand.</param>
        /// <param name="isLeftFirstPlayer">Is left player the first one to play on first round?</param>
        /// <param name="leftStage">Left player starting conditions.</param>
        /// <param name="rightStage">Right player starting conditions.</param>
        /// <returns></returns>
        public static Combat GetSurvivorCombat(SurvivorStage leftStage, SurvivorStage rightStage, Hand leftHand, Hand rightHand, bool isLeftFirstPlayer)
        {
            if ((int)leftStage > Constants.EnumMaxAllowedValues.SurvivorStage)
            {
                throw new ArgumentOutOfRangeException(nameof(leftStage), leftStage, "Must be a valid " + nameof(SurvivorStage));
            }
            if ((int)rightStage > Constants.EnumMaxAllowedValues.SurvivorStage)
            {
                throw new ArgumentOutOfRangeException(nameof(rightStage), rightStage, "Must be a valid " + nameof(SurvivorStage));
            }

            int leftPillz, rightPillz, leftLifes, rightLifes;

            GetSurvivorValues(leftStage, out leftLifes, out leftPillz);
            GetSurvivorValues(rightStage, out rightLifes, out rightPillz);
            return(new Combat(leftHand, rightHand, leftLifes, rightLifes, leftPillz, rightPillz, isLeftFirstPlayer, RandomFactor.NonRandom));
        }