Commit 85cc6fe6 authored by M1888's avatar M1888

release

parent 01a156b3
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Lottokone" xmlns:local="clr-namespace:Lottokone"
mc:Ignorable="d" mc:Ignorable="d"
Title="Asetukset" Height="450" Width="650"> Title="Asetukset" Height="450" Width="670">
<Grid> <Grid>
<StackPanel> <StackPanel>
<StackPanel Orientation="Horizontal" x:Name="spSettings"> <StackPanel Orientation="Horizontal" x:Name="spSettings">
......
...@@ -226,10 +226,20 @@ namespace Lottokone ...@@ -226,10 +226,20 @@ namespace Lottokone
oletuskuva = imgLotto.Source; oletuskuva = imgLotto.Source;
kuvanro = 0; kuvanro = 0;
kuvakello = new Stopwatch(); kuvakello = new Stopwatch();
// ja tarvittavat lottovoittaja-kuvat
try
{
img5oikein = new BitmapImage(new Uri(@"Resources/lotto1.png", UriKind.Relative)); img5oikein = new BitmapImage(new Uri(@"Resources/lotto1.png", UriKind.Relative));
img6oikein = new BitmapImage(new Uri(@"Resources/lotto2.png", UriKind.Relative)); img6oikein = new BitmapImage(new Uri(@"Resources/lotto2.png", UriKind.Relative));
img7oikein = new BitmapImage(new Uri(@"Resources/lotto3.png", UriKind.Relative)); img7oikein = new BitmapImage(new Uri(@"Resources/lotto3.png", UriKind.Relative));
} }
catch (Exception ex)
{
kone.Status = $"Virhe ladattaessa kuvatiedostoja: {ex.Message}";
}
}
private void btnNext_Click(object sender, RoutedEventArgs e) private void btnNext_Click(object sender, RoutedEventArgs e)
{ {
...@@ -285,15 +295,9 @@ namespace Lottokone ...@@ -285,15 +295,9 @@ namespace Lottokone
// + 1 koska pelaajissa on myös meidän pelaajaolio // + 1 koska pelaajissa on myös meidän pelaajaolio
int uusi = Properties.Settings.Default.Pelaajia + 1; int uusi = Properties.Settings.Default.Pelaajia + 1;
if (curr < uusi) if (curr < uusi)
{
kone.LisaaPelaajia(uusi - curr, Properties.Settings.Default.Riveja); kone.LisaaPelaajia(uusi - curr, Properties.Settings.Default.Riveja);
kone.Status = $"Lisätty {uusi - curr} pelaajaa.";
}
else if (curr > uusi) else if (curr > uusi)
{
kone.PoistaPelaajia(curr - uusi); kone.PoistaPelaajia(curr - uusi);
kone.Status = $"Poistettu {curr - uusi} pelaajaa.";
}
// otetaan joku satunnainen pelaaja, ja verrataan sen tietoja uusiin. // otetaan joku satunnainen pelaaja, ja verrataan sen tietoja uusiin.
// Näin saadaan selville, pitääkö pelaajien tietoja muuttaa. // Näin saadaan selville, pitääkö pelaajien tietoja muuttaa.
......
...@@ -170,8 +170,10 @@ namespace Lottokone.Model ...@@ -170,8 +170,10 @@ namespace Lottokone.Model
// Konstruktori lottokoneen pääluokalle // Konstruktori lottokoneen pääluokalle
public Lotto() public Lotto()
{ {
Potti = 0; // kello käyntiin
stopwatch = Stopwatch.StartNew();
Potti = 0;
voitot = new int[6]; voitot = new int[6];
// voitot[0]: 7 oikein // voitot[0]: 7 oikein
// voitot[1]: 6+1 oikein // voitot[1]: 6+1 oikein
...@@ -196,7 +198,6 @@ namespace Lottokone.Model ...@@ -196,7 +198,6 @@ namespace Lottokone.Model
StatusHistory = new ObservableCollection<string>(); StatusHistory = new ObservableCollection<string>();
Status = "Veikkaus: Pelaa maltilla :):):):)"; Status = "Veikkaus: Pelaa maltilla :):):):)";
stopwatch = Stopwatch.StartNew();
try try
{ {
Etunimet = ViewModel.Nimigeneraattori.Etunimet(); Etunimet = ViewModel.Nimigeneraattori.Etunimet();
...@@ -206,30 +207,39 @@ namespace Lottokone.Model ...@@ -206,30 +207,39 @@ namespace Lottokone.Model
{ {
Status = $"Nimien lataus epäonnistui: {ex.Message}"; Status = $"Nimien lataus epäonnistui: {ex.Message}";
} }
// LisaaPelaajia hoitaa kellon pysäytyksen
LisaaPelaajia(Properties.Settings.Default.Pelaajia, Properties.Settings.Default.Riveja); LisaaPelaajia(Properties.Settings.Default.Pelaajia, Properties.Settings.Default.Riveja);
stopwatch.Stop();
Status = $"Lisätty {Pelaajat.Count():N0} pelaajaa ({stopwatch.ElapsedMilliseconds}ms)";
} }
public void LisaaPelaajia(int pelaajia, int riveja) public void LisaaPelaajia(int pelaajia, int riveja)
{ {
for (int i = 0; i < pelaajia; i++) // Ei nollata kelloa tämän alussa, niin saadaan aika ohjelman käynnistyksestä paremmin.
{ stopwatch.Start();
//for (int i = 0; i < pelaajia; i++)
Parallel.For(0, pelaajia,
i => {
Pelaajat.Add(new Pelaaja( Pelaajat.Add(new Pelaaja(
$"{Etunimet[Rand.Next(0, Etunimet.Count())]} {Sukunimet[Rand.Next(0, Sukunimet.Count())]}", $"{Etunimet[Rand.Next(0, Etunimet.Count())]} {Sukunimet[Rand.Next(0, Sukunimet.Count())]}",
riveja, Properties.Settings.Default.Voimassa)); riveja, Properties.Settings.Default.Voimassa));
} });
stopwatch.Stop();
Status = $"Lisätty {pelaajia} pelaajaa ({stopwatch.ElapsedMilliseconds}ms)";
} }
public void PoistaPelaajia(int maara) public void PoistaPelaajia(int maara)
{ {
stopwatch.Restart();
Pelaajat = new ConcurrentBag<Pelaaja>(Pelaajat.Skip(maara).ToList()); Pelaajat = new ConcurrentBag<Pelaaja>(Pelaajat.Skip(maara).ToList());
stopwatch.Stop();
Status = $"Poistettu {maara} pelaajaa ({stopwatch.ElapsedMilliseconds}ms)";
} }
public void Tick() public void Tick()
{ {
stopwatch.Reset(); stopwatch.Restart();
stopwatch.Start();
Viikko++; Viikko++;
......
This diff is collapsed.
...@@ -9,14 +9,21 @@ ...@@ -9,14 +9,21 @@
<Window.Background> <Window.Background>
<ImageBrush ImageSource="Resources/lotto.png" Stretch="UniformToFill"/> <ImageBrush ImageSource="Resources/lotto.png" Stretch="UniformToFill"/>
</Window.Background> </Window.Background>
<DockPanel> <Grid>
<StackPanel Width="300" DockPanel.Dock="Right"> <Grid.ColumnDefinitions>
<Label Style="{StaticResource Isompi}" Content="High score:"/> <ColumnDefinition Width="1.1*" />
<DataGrid x:Name="dgScoreboard" Opacity="0.8" IsReadOnly="True"></DataGrid> <ColumnDefinition Width="*" />
<ColumnDefinition Width="1.1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
</Grid.RowDefinitions>
<StackPanel Grid.Column="1">
<Label Style="{StaticResource Isompi}" Content="High scores:" Background="#B2FFFFFF"/>
<DataGrid x:Name="dgScoreboard" Opacity="0.85" IsReadOnly="True" Margin="0,5,0,5"></DataGrid>
</StackPanel> </StackPanel>
<StackPanel Width="300" DockPanel.Dock="Right" HorizontalAlignment="Right"> <StackPanel Grid.Column="2">
<Label Style="{StaticResource Isompi}" Content="Rikkaimmat pelaajat:" Foreground="Black"/> <Label Style="{StaticResource Isompi}" Content="Tämän pelin rikkaimmat pelaajat:" Foreground="Black" Background="#B2FFFFFF"/>
<ListView x:Name="lstRikkaimmat" Opacity="0.8"></ListView> <ListView x:Name="lstRikkaimmat" Opacity="0.85" Margin="5"></ListView>
</StackPanel> </StackPanel>
</DockPanel> </Grid>
</Window> </Window>
No preview for this file type
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