Commit a0d0345c authored by M1888's avatar M1888

1604

parent 29acc7dd
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
Title="Asetukset" Height="450" Width="800"> Title="Asetukset" Height="450" Width="800">
<Grid> <Grid>
<StackPanel> <StackPanel>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal" x:Name="spSettings">
<StackPanel Width="300" x:Name="spSettings"> <StackPanel Width="300">
<Label FontWeight="Bold">Simulaation asetukset</Label> <Label FontWeight="Bold">Simulaation asetukset</Label>
<StackPanel> <StackPanel>
<StackPanel Margin="5" Orientation="Horizontal"> <StackPanel Margin="5" Orientation="Horizontal">
...@@ -30,6 +30,11 @@ ...@@ -30,6 +30,11 @@
</StackPanel> </StackPanel>
<StackPanel> <StackPanel>
<Label FontWeight="Bold">Omat rivit</Label> <Label FontWeight="Bold">Omat rivit</Label>
<StackPanel>
<StackPanel Orientation="Horizontal">
</StackPanel>
</StackPanel>
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>
......
...@@ -19,8 +19,6 @@ namespace Lottokone ...@@ -19,8 +19,6 @@ namespace Lottokone
/// </summary> /// </summary>
public partial class Asetukset : Window public partial class Asetukset : Window
{ {
public Asetukset() public Asetukset()
{ {
InitializeComponent(); InitializeComponent();
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<Label Content="Viikko:"/> <Label Content="Viikko:"/>
<Label Content="{Binding Viikko}" /> <Label Content="{Binding Viikko}" />
<Label Content="Pelaajia:"/> <Label Content="Pelaajia:"/>
<Label Content="{Binding Pelaajat.Count()}"/> <Label Content="{Binding Pelaajamaara}"/>
<Label Content="Potti:"/> <Label Content="Potti:"/>
<Label Content="{Binding Potti}"/> <Label Content="{Binding Potti}"/>
<Label Content="Voittorivi:"/> <Label Content="Voittorivi:"/>
......
...@@ -105,6 +105,16 @@ namespace Lottokone.Model ...@@ -105,6 +105,16 @@ namespace Lottokone.Model
} }
} }
// pelaajamäärä pitää pitää inttinä, niin saadaan helposti bindattua se
// käyttöliittymän puolella.
public int Pelaajamaara
{
get
{
return Pelaajat.Count();
}
}
// Konstruktori lottokoneen pääluokalle // Konstruktori lottokoneen pääluokalle
public Lotto() public Lotto()
{ {
...@@ -113,31 +123,17 @@ namespace Lottokone.Model ...@@ -113,31 +123,17 @@ namespace Lottokone.Model
Pelaajat = new ConcurrentBag<Pelaaja>(); Pelaajat = new ConcurrentBag<Pelaaja>();
Voittorivi = new Voittorivi(); Voittorivi = new Voittorivi();
StatusHistory = new ObservableCollectionEx<string>(new List<String>()); StatusHistory = new ObservableCollectionEx<string>(new List<String>());
Status = "Alustetaan pelaajia..."; Status = "Veikkaus: Pelaa maltillisesti :):):):)";
for (int i = 0; i < Properties.Settings.Default.Pelaajia; i++) LisaaPelaajia(Properties.Settings.Default.Pelaajia, Properties.Settings.Default.Riveja);
{
Pelaaja p = new Pelaaja();
for (int j = 0; j < 5; j++)
{
Lottorivi l = new Lottorivi();
l.ArvoRivi();
p.Rivit.Add(l);
Potti++;
}
Pelaajat.Add(p);
}
} }
public void LisaaPelaajia(int pelaajia, int riveja) public void LisaaPelaajia(int pelaajia, int riveja)
{ {
for(int i = 0; i < pelaajia; i++) for(int i = 0; i < pelaajia; i++)
{ {
for (int j = 0; j < riveja; j++) Pelaajat.Add(new Pelaaja(riveja));
{
Pelaajat.Add(new Pelaaja());
}
} }
} }
...@@ -172,17 +168,18 @@ namespace Lottokone.Model ...@@ -172,17 +168,18 @@ namespace Lottokone.Model
if (!Oikein7.IsEmpty) if (!Oikein7.IsEmpty)
Status = $"7 oikein: {Oikein7.Count()}"; Status = $"7 oikein: {Oikein7.Count()}";
JaaVoitot(); //JaaVoitot();
} }
private void EtsiVoittajat() private void EtsiVoittajat()
{ {
Parallel.ForEach(Pelaajat, (p) => Parallel.ForEach(Pelaajat, (p) =>
{ {
foreach (Rivi r in p.Rivit) // päivitetään lottorivit
p.Tick();
foreach (Lottorivi r in p.Rivit)
{ {
int oikein = r.Oikein(Voittorivi); switch (r.Oikein(Voittorivi))
switch(oikein)
{ {
case 4: case 4:
Oikein4.Add(p); Oikein4.Add(p);
......
...@@ -12,7 +12,7 @@ namespace Lottokone.Model ...@@ -12,7 +12,7 @@ namespace Lottokone.Model
public long Saldo { get; set; } public long Saldo { get; set; }
public List<Lottorivi> Rivit { get; set; } public List<Lottorivi> Rivit { get; set; }
public short Riveja { get; set; } public int Riveja { get; set; }
public Pelaaja() public Pelaaja()
{ {
...@@ -25,21 +25,27 @@ namespace Lottokone.Model ...@@ -25,21 +25,27 @@ namespace Lottokone.Model
Nimi = nimi; Nimi = nimi;
} }
public Pelaaja(short riveja) : this() public Pelaaja(int riveja) : this()
{ {
Riveja = riveja; Riveja = riveja;
for (int i = 0; i < Riveja; i++)
Rivit.Add(new Lottorivi());
} }
public void Tick() public void Tick()
{ {
foreach(Lottorivi r in Rivit) for(int i = Rivit.Count() - 1; i > 0; i--)
{ {
Lottorivi r = Rivit[i];
r.Voimassa--; r.Voimassa--;
if(r.Voimassa < 0) if (r.Voimassa < 0)
{
Rivit.Remove(r); Rivit.Remove(r);
}
} }
int ero = Riveja - Rivit.Count();
if (ero > 0)
for (int i = 0; i < ero; i++)
Rivit.Add(new Lottorivi());
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment