Lotto_Projekt/README.md

56 lines
2.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🎲 Lotto Spiel WPF Anwendung (C# / .NET)
## 📌 Projektbeschreibung
Diese Anwendung ist ein selbst programmiertes 6-aus-49-Lotto-Spiel auf Basis von WPF in C#. Ziel ist es, 6 Zahlen zwischen 1 und 49 auszuwählen, eine Ziehung zu starten und anschließend zu sehen, wie viele Treffer man hat natürlich mit einem kleinen virtuellen Geldsystem dazu.
Beim Start hat man ein Guthaben von **2000€**. Für jede Ziehung werden **5€ Einsatz** abgezogen. Je nach Anzahl der Treffer gibt es dann Gewinne zurück. Alles läuft über eine einfache grafische Oberfläche mit Zahlenauswahl, Ziehungsbutton, Kontostandsanzeige und Reset-Funktion.
Die Anwendung wurde gemeinsam entwickelt und funktioniert komplett lokal ohne Datenbank, Internet oder externe Abhängigkeiten.
---
## 🔧 Funktionen im Überblick
- Auswahl von genau 6 Zahlen (Buttons von 149)
- Zufällige Ziehung von 6 Lottozahlen
- Automatische Trefferprüfung
- Farbige Darstellung: **Grün = Treffer**, **Rot = kein Treffer**
- Kontostand mit Startguthaben & Einsatz/Gewinn-Logik
- Reset-Button zum Zurücksetzen des Spiels
---
## 👨‍💻 Aufgabenverteilung
Die Entwicklung haben wir im Team gemacht und dabei Schwerpunkte gesetzt:
### **Jan Dshek**
- Gestaltung der Spielfläche mit WrapPanel
- Benutzerinteraktion (Zahlen klicken, Zustände speichern)
- Eingabeprüfung (max. 6 Zahlen, Guthabencheck)
### **Kevin Dietze**
- XAML-Oberfläche (Layout, UI-Design mit Panels und Buttons)
- Spiellogik in C# (Zufallsziehung, Trefferprüfung, Gewinnvergabe)
- Umsetzung der Seitenleiste inkl. Kontostandsanzeige & Buttons
> Viele Details wie Farben, Fehlermeldungen und Spielfluss haben wir gemeinsam abgestimmt und umgesetzt.
---
## ⚠️ Herausforderungen im Projekt
- **Zahlenauswahl beschränken:** Es musste sichergestellt werden, dass wirklich nur 6 Zahlen auswählbar sind ohne weitere Trickserei. Das haben wir direkt über die Button-Logik geregelt.
- **Doppelte Ziehungen vermeiden:** Nach dem Start einer Ziehung sollten keine weiteren Aktionen möglich sein, bevor das Spiel zurückgesetzt wird.
- **Farbmarkierung bei Ziehung:** Anfangs war unklar, wie wir Treffer/Nieten optisch abheben. Am Ende haben wir es mit einfacher Farb-Logik und klaren Listenvergleichen gelöst.
- **Reset sauber machen:** Nach dem Zurücksetzen durfte nichts mehr von vorher sichtbar sein weder alte Ziehungen noch grüne/rote Felder. Wir leeren also gezielt die nötigen Listen und setzen die Button-Farben zurück.
---
## ✅ Fazit
Das Projekt war eine gute Möglichkeit, die Arbeit mit WPF und C# in der Praxis zu vertiefen. Wir haben gelernt, wie man Benutzerinteraktion sinnvoll umsetzt, mit Zuständen arbeitet und UI und Logik sauber voneinander trennt.
Besonders geholfen hat die klare Aufgabenteilung: Einer eher im Code, der andere am Design aber trotzdem haben wir alles als Team umgesetzt. Die Anwendung läuft stabil, ist verständlich aufgebaut und tut genau, was sie soll.