Commit 85cc6fe6 authored by M1888's avatar M1888

release

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