**Dies ist eine alte Version des Dokuments!**
Projekt: Hangman
Slides:
Ziele:
- Programmiere das bekannte Hangman-Game als Konsolenapp.
- Grösseres Programm schreiben (ca. $300$ Zeilen Code)
- Lerne, wie man anhand des Programmierparadigmas Model vs. View Code sinnvoll strukturiert.
- Scope von Variablen verstehen.
- Unterschied Werttypen vs. Referenztypen verstehen.
- Robusten Code schreiben, der für alle Eventualitäten gewappnet ist.
Auftrag:
- Erstelle ein neues GitHub-Repo „HangMan“ und teile es mit den Lehrpersonen. Wähle beim erstellen private und Visual Studio für das GitIgnore-File. Klone das Repo auf deinen Computer und …
- … erstelle darin ein neues C#-Konsolenprogramm mit Namen „HangMan“. Wichtig: Wähle beim Erstellen des Projekte „Erweitert: Keine Anweisungen der obersten Ebene verwenden“ (Engl.: etwas mit „Top-Level Statements“) aus.
- Verwende das Template (siehe unten) und …
- … Programmiere damit das Spiel Hangman. Schaue, dass alle Vorgaben unten erfüllt sind.
- Teste dein Spiel ausgiebig: Falsche Eingaben machen, Spiel gewinnen, verlieren, …
- Wenn du denkst dass du fertig bist: Gehe die Checkliste unten durch. Falls ein Punkt nicht erfüllt ist, verbessere diesen und hake diesen ab. Sobald alle Punkte erfüllt und abgehakt sind …
- … Arbeit abgeben:
- Nachricht an Lehrperson in Teams-Chat
- inkl. Link zu GitHub-Repo
- inkl. abgehakter und unterschriebener Checkliste
Zeit: Zwei EFIF-Nachmittage (6 Lektionen), Rest HA
Vorgaben:
- Template verwenden und an dieses halten.
- Code muss robust sein: Egal was Benutzer eingibt: Code muss damit klarkommen.
- Von Player1 eingegebenes Wort (das, welches Player2 erraten muss) muss folgende Bedingung erfüllen:
- Mind. 3 Buchstsaben
- Nur ASCII-Grossbuchstaben: 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
- also keine Umlaute (Ä,Ö,Ü) usw. (É,…), keine Leerschläge
- Bei unzulässiger Eingabe wird solange aufgefordert, neues einzugeben bis ok
- Nur GROSSBUCHSTABEN. Player1 & 2 können Kleinbuchstaben eingeben, werden dann aber in Grossbuchstaben umgewandelt.
- Erraten der Buchstaben (Player2):
- Wird bereits erratener Buchstabe erraten, zählt dies nicht als Fehlversuch. Player2 wird darauf hingewiesen und aufgefordert, andren Buchstaben einzugeben.
- Auch unzulässige Eingaben (Zahl, Umlaut, Sonderzeichen, …) zählen nicht als Fehlversuche.
Template
Checklist
Title
Section heading
Grafische Darstellung
Die Anzahl Versuche soll durch den hänging Man graphisch dargestellt werden. Achtung: Falls dir das zu makaber ist, kannst du auch eine fröhlichere Zeichnung anfertigen. Mögliche Alternativen:
- Schneemann
- Rackete
- Blume
HangMan:
- Definiere dazu eine Funktion, die die Anzahl Versuche entgegen nimmt und die zugehörige Grafik in die Konsole schreibt:
- 0 - nur Galgen
- 1 - Kopf
- 2 - Kopf, Oberkörper
- 3 - Kopf, Oberkörper, ein Bein
- 4 - Kopf, Oberkörper, beide Beine
- 5 - Kopf, Oberkörper, beide Beine, ein Arm
- 6 - HangMan
- Verbessere und fine-tune nun dein Spiel so, dass es gut funktioniert und hübsch aussieht.