97 lines
3.7 KiB
Markdown
97 lines
3.7 KiB
Markdown
# 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.
|
|
<img src="images/spielerliste.png" width="250">
|
|
- **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.
|
|
<img src="images/settings.png" width="250">
|
|
- **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.
|
|
<img src="images/spieler.png" width="250">
|
|
<img src="images/rolle.png" width="250">
|
|
- **Spielaktionen**: Die App ermöglicht es, den Tod von Spielern festzustellen und weitere Spielaktionen zu verwalten.
|
|
<img src="images/spielfeld_tag.png" width="250">
|
|
<img src="images/spielfeld_nacht.png" width="250">
|
|
<img src="images/tote_spieler.png" width="250">
|
|
- **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.
|
|
<img src="images/moderator.png" width="250">
|
|
<img src="images/winscreen.png" width="250">
|
|
|
|
## 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<void> 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
|