Lotto_Projekt/MainWindow.xaml.cs

237 lines
3.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
namespace Lotto_Test
{
public partial class MainWindow : Window
{
List<int> auswahl = new List<int>();
List<Button> knöpfe = new List<Button>();
List<int> gezogen = new List<int>();
double geld = 2000;
public MainWindow()
{
InitializeComponent();
for (int i = 1; i <= 49; i++)
{
Button b = new Button();
b.Content = i.ToString();
b.Tag = i;
b.Width = 35;
b.Height = 35;
b.Margin = new Thickness(3);
b.Background = Brushes.LightGray;
b.Click += Zahl_Click;
Feld.Children.Add(b);
knöpfe.Add(b);
}
GeldAktualisieren();
}
void Zahl_Click(object sender, RoutedEventArgs e)
{
if (gezogen.Count > 0) return;
Button b = (Button)sender;
int n = (int)b.Tag;
if (auswahl.Contains(n))
{
auswahl.Remove(n);
b.Background = Brushes.LightGray;
}
else
{
if (auswahl.Count >= 6)
{
MessageBox.Show("Nur 6 Zahlen erlaubt");
return;
}
auswahl.Add(n);
b.Background = Brushes.LightGreen;
}
}
void Ziehung_Click(object sender, RoutedEventArgs e)
{
if (auswahl.Count != 6)
{
MessageBox.Show("Wähle genau 6 Zahlen");
return;
}
if (geld < 5)
{
MessageBox.Show("Nicht genug Geld");
return;
}
geld -= 5;
gezogen.Clear();
List<int> zahlen = new List<int>();
for (int i = 1; i <= 49; i++) zahlen.Add(i);
Random r = new Random();
while (gezogen.Count < 6)
{
int z = r.Next(zahlen.Count);
gezogen.Add(zahlen[z]);
zahlen.RemoveAt(z);
}
int treffer = 0;
foreach (Button b in knöpfe)
{
int z = (int)b.Tag;
if (auswahl.Contains(z))
{
if (gezogen.Contains(z))
{
b.Background = Brushes.LightGreen;
treffer++;
}
else b.Background = Brushes.Red;
}
else b.Background = Brushes.LightGray;
}
double gewinn = 0;
if (treffer == 1) gewinn = 1;
if (treffer == 2) gewinn = 2;
if (treffer == 3) gewinn = 5;
if (treffer == 4) gewinn = 100;
if (treffer == 5) gewinn = 1000;
if (treffer == 6) gewinn = 200000000;
geld += gewinn;
GeldAktualisieren();
MessageBox.Show("Gezogen: " + string.Join(" ", gezogen) +
"\nDeine: " + string.Join(" ", auswahl) +
"\nTreffer: " + treffer +
"\nGewinn: " + gewinn + " €");
}
void Reset_Click(object sender, RoutedEventArgs e)
{
auswahl.Clear();
gezogen.Clear();
foreach (Button b in knöpfe)
b.Background = Brushes.LightGray;
GeldAktualisieren();
}
void GeldAktualisieren()
{
GeldText.Text = "Geld: " + geld.ToString("0.00") + " €";
}
}
}