# Werwolf - Flutter App ## Beschreibung Die "Werwolf" Flutter App wurde als Teil eines Gruppenprojekts von David Miller und Yusuf Can Özdemirkan entwickelt. Ziel der App ist es, das bekannte Partyspiel "Werwolf" digital nachzubilden und eine benutzerfreundliche Plattform zu bieten, die es Spielern ermöglicht, ohne komplizierte Anmeldungen oder Einstellungen zu spielen. ## Funktionalitäten - **Anmeldungsfreier Zugang**: Spieler können sich ohne Anmeldung direkt über ein mehrfeldriges Formular registrieren. - **Spielerregistrierung**: Über das Formular können sich beliebig viele Spieler (mindestens 6) eintragen. - **Konfiguration der Spielrunde**: Vor dem Spielbeginn lassen sich Anzahl und Arten der speziellen Rollen konfigurieren. - **Enthüllung der Rollen**: Nachdem alle Spieler eingetragen sind, wird durch Anklicken der Karte die Rolle der jeweiligen Person aufgedeckt. Dieser Vorgang wird wiederholt, bis alle Spieler ihre Rollen kennen. - **Spielaktionen**: Die App ermöglicht es, den Tod von Spielern festzustellen und weitere Spielaktionen zu verwalten. - **Moderation und Sieg**: Der Moderator kann die Rollen der Spieler einsehen und bei einem Sieg der Dorfbewohner, Werwölfe oder des Jokers wird ein entsprechender Bildschirm angezeigt. ## Plattformunterstützung und Tests Die App ist plattformunabhängig konzipiert und wurde auf folgenden Plattformen getestet: - **Android** - **iOS** - **MacOS** - **Web** ### Besondere Hinweise zum Testen - **Integrationstests**: Befolge die untenstehenden Anweisungen zur Installation der Abhängigkeiten und Ausführung der Tests. ## Installation und Ausführung ### Voraussetzungen - Flutter SDK (Version >= 3.4.3) - Abhängigkeiten in `pubspec.yaml` ### Installation 1. Klone das Repository: ```bash git clone https://gitty.informatik.hs-mannheim.de/2011708/cpd_David_und_Yusuf 2. Wechsle in das Projektverzeichnis: cd cpd_David_und_Yusuf 3. Installiere die Abhängigkeiten: flutter pub get ### Ausführen der App - **Android/iOS/MacOS/Web**: flutter run ## Tests ### Unit- und Widget-Tests ausführen flutter test ### Integrationstests ausführen 1. Erstelle eine Datei `test_driver/integration_test.dart` mit folgendem Inhalt: import 'package:integration_test/integration_test_driver.dart'; Future main() => integrationDriver(); 2. Erstelle eine Datei `integration_test/app_test.dart` mit deinen Integrationstests (siehe vorherige Anweisungen). 3. Führe den Integrationstest aus: flutter drive --driver=test_driver/integration_test.dart --target=integration_test/app_test.dart ### Shell-Skript zur Installation und Ausführung Füge folgendes Skript `run_app.sh` hinzu, um die App zu installieren und auszuführen: #!/bin/sh Klone das Repository git clone https://gitty.informatik.hs-mannheim.de/2011708/cpd_David_und_Yusuf Wechsle in das Projektverzeichnis cd cpd_David_und_Yusuf Installiere die Abhängigkeiten flutter pub get Starte die App flutter run ## Gitty Repository Das Projekt wird auf Gitty von der Hochschule gehostet. Hier ist der Link zum Repository: [Gitty Repository](https://gitty.informatik.hs-mannheim.de/2011708/cpd_David_und_Yusuf) ## Kontakt Für Fragen, Feedback oder Unterstützung kontaktieren Sie bitte: - Yusuf Can Özdemirkan, 1813055: yusufcan.oezdemirkan@stud.hs-mannheim.de - David Miller, 2011708: 2011708@stud.hs-mannheim.de