예제 #1
0
        public Variant.Type SelectBestAvailableChoice()
        {
            int highestValue = 0;

            Variant.Type highVariant        = 0;
            int[]        getValueByVariants = new int[variant.Length()]; // NullReferenceException here when resuming game

            foreach (Variant.Type vari in variant.GetList())
            {
                int i = variant.GetValue(vari);
                getValueByVariants[i] = rules.GetValueByVariant(vari);
                if (vari != variant.Chance() && !GetPickedChoice(vari) && getValueByVariants[i] >= highestValue)
                {
                    highestValue = getValueByVariants[i];
                    highVariant  = vari;
                }
            }

            getValueByVariants[12] = rules.GetValueByVariant(variant.Chance());
            if (!GetPickedChoice(variant.Chance()) && getValueByVariants[12] > highestValue && highestValue <10 && highVariant> variant.Threes() && highVariant < variant.Yahtzee())
            {
                highVariant = variant.Chance();
            }
            return(highVariant);
        }
예제 #2
0
        private void AddingScoreToList(Player player, Variant.Type choiceToPick)
        {
            player.AddScoreToList(choiceToPick, rules.GetValueByVariant(choiceToPick));

            bool exist      = false;
            int  roundScore = player.GetScoreFromList(choiceToPick, out exist);

            if (exist)
            {
                renderer.RenderScoreOfRound(roundScore, choiceToPick);
            }
        }