mirror of
https://github.com/onyx-and-iris/Lottery.git
synced 2024-11-21 13:40:48 +00:00
update special identifiers
This commit is contained in:
parent
bc45a4d8f8
commit
1241070a30
@ -2,9 +2,14 @@
|
||||
{
|
||||
public partial class MainPage : ContentPage
|
||||
{
|
||||
readonly List<IGenerator> generators = [new UKGenerator(), new EuroGenerator(), new SetForLifeGenerator(), new ThunderBallGenerator()];
|
||||
IGenerator generator;
|
||||
readonly List<IGenerator> Generators = [new UKGenerator(), new EuroGenerator(), new SetForLifeGenerator(), new ThunderBallGenerator()];
|
||||
IGenerator Generator;
|
||||
const KindOfLotto DEFAULT_GENERATOR = KindOfLotto.Uk;
|
||||
Dictionary<KindOfLotto, string> SpecialIdentifiers = new() {
|
||||
{ KindOfLotto.Euro, "Lucky Stars" },
|
||||
{ KindOfLotto.SetForLife, "Life Ball" },
|
||||
{ KindOfLotto.Thunderball, "Thunderball" }
|
||||
};
|
||||
|
||||
public MainPage()
|
||||
{
|
||||
@ -14,37 +19,37 @@
|
||||
LottoPicker.ItemsSource = lottos;
|
||||
LottoPicker.SelectedIndex = (int)DEFAULT_GENERATOR;
|
||||
|
||||
generator = generators[LottoPicker.SelectedIndex];
|
||||
Generator = Generators[LottoPicker.SelectedIndex];
|
||||
}
|
||||
|
||||
private void SpinButton_Clicked(object sender, EventArgs e)
|
||||
{
|
||||
Numbers numbers = generator.Generate();
|
||||
Numbers numbers = Generator.Generate();
|
||||
switch (numbers.Kind)
|
||||
{
|
||||
case KindOfLotto.Uk:
|
||||
NumbersLabel.Text = $"Numbers: {string.Join(", ", numbers.Normal)}";
|
||||
break;
|
||||
case KindOfLotto.Euro:
|
||||
case KindOfLotto.Euro:
|
||||
case KindOfLotto.SetForLife:
|
||||
case KindOfLotto.Thunderball:
|
||||
if (numbers is NumbersWithSpecial numbersWithSpecial)
|
||||
{
|
||||
List<string> output = [
|
||||
$"Normal: {string.Join(", ", numbersWithSpecial.Normal)}",
|
||||
$"Special: {string.Join(", ", numbersWithSpecial.Special)}"
|
||||
$"Numbers: {string.Join(", ", numbersWithSpecial.Normal)}",
|
||||
$"{SpecialIdentifiers[numbers.Kind]}: {string.Join(", ", numbersWithSpecial.Special)}"
|
||||
];
|
||||
NumbersLabel.Text = string.Join("\t", output);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new LottoPickerException($"no NumbersLabel output defined for {numbers.Kind}");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void LottoPicker_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
generator = generators[LottoPicker.SelectedIndex];
|
||||
Generator = Generators[LottoPicker.SelectedIndex];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user