Lotto_Projekt/README.md

2.6 KiB
Raw Blame History

Lotto Spiel WPF Anwendung

Projektbeschreibung

Dieses Projekt ist eine WPF-Anwendung in C#, in der Benutzer ein klassisches 6-aus-49-Lotto-Spiel spielen können. Ziel der Anwendung ist es, 6 Zahlen zwischen 1 und 49 auszuwählen, eine Ziehung zu starten und den möglichen Gewinn abhängig von der Anzahl der Treffer zu berechnen. Das Spiel enthält ein Kontostand-System, das den Einsatz pro Spiel (5 €) sowie eventuelle Gewinne berücksichtigt.

Die Oberfläche wurde benutzerfreundlich gestaltet, mit einem Zahlenfeld zur Auswahl, einer Seitenleiste für Aktionen und einer Anzeige des aktuellen Kontostands.

Funktionen

  • Auswahl von 6 Zahlen über Buttons (149)
  • Zufällige Ziehung von 6 Lottozahlen
  • Markierung der Treffer und Nicht-Treffer
  • Gewinnberechnung basierend auf Trefferanzahl
  • Kontostand-Management mit Startguthaben von 2000 €
  • Reset-Funktion zum Zurücksetzen des Spiels

Team & Aufgabenverteilung

Jan Dshek

  • Entwicklung der Spiellogik (Ziehung, Trefferprüfung, Gewinnermittlung)
  • Implementierung der Benutzerinteraktion mit den Zahlenbuttons
  • Validierung der Eingabe (max. 6 Zahlen, ausreichend Guthaben)

Kevin Dietze

  • Gestaltung des XAML-Layouts (UI-Design)
  • Erstellung der grafischen Benutzeroberfläche mit WrapPanel und StackPanel
  • Integration der Kontostandsanzeige und Aktionsbuttons

Probleme und Herausforderungen

  • Mehrfachauswahl-Validierung: Es musste verhindert werden, dass mehr als 6 Zahlen ausgewählt werden können. Dabei haben wir ein Problem mit der UI-Synchronisation entdeckt, das behoben werden konnte, indem die Auswahl direkt in der Click-Methode überprüft wurde.
  • Kontostandsaktualisierung: Bei mehrfachen Ziehungen ohne Zurücksetzen wurden irrtümlich mehrfach Einsätze abgezogen. Wir haben daher eine Sperrung weiterer Eingaben nach der Ziehung integriert.
  • Markierungslogik: Es war anfangs unklar, wie die Buttons nach der Ziehung farblich korrekt dargestellt werden sollen (Treffer = Grün, Niete = Rot). Dieses Problem wurde durch einen klaren Vergleich zwischen gezogenen und gewählten Zahlen gelöst.
  • Reset-Verhalten: Es kam vor, dass nach dem Zurücksetzen noch alte Ziehungsergebnisse angezeigt wurden. Dieses Problem wurde durch das Leeren der Listen selectedNumbers und gezogeneZahlen sowie das Zurücksetzen der Button-Farben gelöst.

Fazit

Das Projekt hat geholfen, sowohl das Verständnis von WPF als auch den Umgang mit C# in einer GUI-Anwendung zu vertiefen. Durch die klare Aufgabenverteilung konnte jeder gezielt seine Stärken einbringen, und wir haben wichtige Erfahrungen im Umgang mit Events, Benutzerführung und Zustandsspeicherung gesammelt.