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); }
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); } }