Commit 29acc7dd authored by M1888's avatar M1888

16.4

parent e20e8b43
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
<setting name="Pelaajia" serializeAs="String"> <setting name="Pelaajia" serializeAs="String">
<value>100000</value> <value>100000</value>
</setting> </setting>
<setting name="Riveja" serializeAs="String">
<value>5</value>
</setting>
</Lottokone.Properties.Settings> </Lottokone.Properties.Settings>
</userSettings> </userSettings>
</configuration> </configuration>
\ No newline at end of file
...@@ -7,18 +7,33 @@ ...@@ -7,18 +7,33 @@
mc:Ignorable="d" mc:Ignorable="d"
Title="Asetukset" Height="450" Width="800"> Title="Asetukset" Height="450" Width="800">
<Grid> <Grid>
<StackPanel>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<StackPanel Width="250" x:Name="spSettings"> <StackPanel Width="300" x:Name="spSettings">
<Label FontWeight="Bold">Simulaation asetukset</Label> <Label FontWeight="Bold">Simulaation asetukset</Label>
<StackPanel Margin="5" Orientation="Horizontal"> <StackPanel>
<Label>Pelaajia</Label> <StackPanel Margin="5" Orientation="Horizontal">
<TextBox Margin="5" x:Name="txbPelaajia" Text="{Binding Pelaajia, Mode=TwoWay}" /> <Label>Pelaajia</Label>
<TextBox Margin="5" x:Name="txbPelaajia" Text="{Binding Pelaajia, Mode=TwoWay}" Width="150" />
</StackPanel>
<Label Margin="25,-5,0,0" FontSize="10">Simulaatiossa käytettävien pelaajien määrä.</Label>
</StackPanel> </StackPanel>
<StackPanel>
<StackPanel Margin="5" Orientation="Horizontal">
<Label>Rivejä</Label>
<TextBox Margin="5" x:Name="txbRiveja" Text="{Binding Riveja, Mode=TwoWay}" Width="150" />
</StackPanel>
<Label Margin="25,-5,0,0" FontSize="10">Simuloitujen pelaajien rivien määrä per pelaaja.</Label>
</StackPanel>
</StackPanel> </StackPanel>
<StackPanel> <StackPanel>
<Label FontWeight="Bold">Omat rivit</Label> <Label FontWeight="Bold">Omat rivit</Label>
</StackPanel> </StackPanel>
</StackPanel>
<Button x:Name="btnSave" Content="Tallenna &amp; sulje" Click="btnSave_Click" Margin="15" />
</StackPanel> </StackPanel>
</Grid> </Grid>
</Window> </Window>
...@@ -26,5 +26,11 @@ namespace Lottokone ...@@ -26,5 +26,11 @@ namespace Lottokone
InitializeComponent(); InitializeComponent();
spSettings.DataContext = Properties.Settings.Default; spSettings.DataContext = Properties.Settings.Default;
} }
private void btnSave_Click(object sender, RoutedEventArgs e)
{
Properties.Settings.Default.Save();
this.Close();
}
} }
} }
...@@ -114,6 +114,8 @@ namespace Lottokone.Model ...@@ -114,6 +114,8 @@ namespace Lottokone.Model
Voittorivi = new Voittorivi(); Voittorivi = new Voittorivi();
StatusHistory = new ObservableCollectionEx<string>(new List<String>()); StatusHistory = new ObservableCollectionEx<string>(new List<String>());
Status = "Alustetaan pelaajia..."; Status = "Alustetaan pelaajia...";
for (int i = 0; i < Properties.Settings.Default.Pelaajia; i++) for (int i = 0; i < Properties.Settings.Default.Pelaajia; i++)
{ {
Pelaaja p = new Pelaaja(); Pelaaja p = new Pelaaja();
...@@ -128,11 +130,14 @@ namespace Lottokone.Model ...@@ -128,11 +130,14 @@ namespace Lottokone.Model
} }
} }
public void LisaaPelaajia(int maara) public void LisaaPelaajia(int pelaajia, int riveja)
{ {
for(int i = 0; i < maara; i++) for(int i = 0; i < pelaajia; i++)
{ {
Pelaajat.Add(new Pelaaja()); for (int j = 0; j < riveja; j++)
{
Pelaajat.Add(new Pelaaja());
}
} }
} }
......
...@@ -10,5 +10,11 @@ namespace Lottokone.Model ...@@ -10,5 +10,11 @@ namespace Lottokone.Model
{ {
public short Viikko { get; set; } public short Viikko { get; set; }
public short Voimassa { get; set; } public short Voimassa { get; set; }
public Lottorivi() : base()
{
// oletuksena rivit voimassa yhden arvonnan
Voimassa = 1;
}
} }
} }
...@@ -32,12 +32,14 @@ namespace Lottokone.Model ...@@ -32,12 +32,14 @@ namespace Lottokone.Model
public void Tick() public void Tick()
{ {
foreach(Rivi r in Rivit) foreach(Lottorivi r in Rivit)
{ {
r.Voimassa--;
if(r.Voimassa < 0)
{
Rivit.Remove(r);
}
} }
} }
} }
} }
...@@ -4,10 +4,10 @@ using System.Collections.ObjectModel; ...@@ -4,10 +4,10 @@ using System.Collections.ObjectModel;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.Windows.Threading; using System.Windows.Threading;
/* Kopioitu täältä: /* Thread-safe ObservableCollection
* https://www.codeproject.com/Tips/414407/Thread-Safe-Improvement-for-ObservableCollection
* *
* ObservableCollection, joka toimii threadeissa * Kopioitu täältä:
* https://www.codeproject.com/Tips/414407/Thread-Safe-Improvement-for-ObservableCollection
*/ */
namespace Custom.Collections namespace Custom.Collections
......
...@@ -34,5 +34,17 @@ namespace Lottokone.Properties { ...@@ -34,5 +34,17 @@ namespace Lottokone.Properties {
this["Pelaajia"] = value; this["Pelaajia"] = value;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("5")]
public int Riveja {
get {
return ((int)(this["Riveja"]));
}
set {
this["Riveja"] = value;
}
}
} }
} }
...@@ -5,5 +5,8 @@ ...@@ -5,5 +5,8 @@
<Setting Name="Pelaajia" Type="System.Int32" Scope="User"> <Setting Name="Pelaajia" Type="System.Int32" Scope="User">
<Value Profile="(Default)">100000</Value> <Value Profile="(Default)">100000</Value>
</Setting> </Setting>
<Setting Name="Riveja" Type="System.Int32" Scope="User">
<Value Profile="(Default)">5</Value>
</Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>
\ No newline at end of file
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