**Dies ist eine alte Version des Dokuments!**
TALIT Programmier-Projekt 2M
Übersicht
- Eines von drei offiziellen TALIT-Projekten
- Muss PyGame Projekt sein
- muss bestanden werden, ansonsten ist TALIT-Reise vorbei
- Abgabe
- Deadline: letzter Schultag vom aktuellen Semester
- Wie: Teams-Nachricht an Betreuer inkl. Link zum Repo
Ideen
PyGame ist Library, mit der man mit Python Programme mit einer graphischen Oberfläche programmieren kann. Besonders ist es geeignet, 2D-Retro Games damit zu entwickeln. Für 3D-Games und Games mit moderner Grafik ist es allerdings nicht geeignet. Man kann mit PyGame aber auch andere Programme als Games entwickeln.
- Bekanntes Game mit eigenem Twist (Tetris, Pac-Man, Flipper-Kasten, …)
- Eigenes Game entwickeln
- Lernprogramm z.B. für:
- Binärsystem (Binäruhr, Umrechnen Dez ↔ Bin, Spielmodus, …)
- Kanti-Mathe (quad. Gleichungen, LGS, …)
- Kinder, z.B. Buchstaben spielerisch lernen
- …
Vorgehen
- Part 1: PyGame kennenlernen
- Studiere die folgende Seite und lade das PyGame-Template herunter: pygame.
- Projekt von LP absegnen lassen, Betreuer finden (sca oder hof)
- GitRepo mit passendem Namen erstellen, mit Betreuer teilen
- Product Requirements Document (PRD, mehr Infos unten) in Repo erstellen und Betreuer mitteilen (per Teams inkl. Link)
- PRD mit Betreuer besprechen.
- Anfangen zu arbeiten, regelmässige Treffen mit Betreuer (ca. 1x pro Monat)
- Bei Fragen, Problemen in Lektion kommen
Product Requirements Document (PRD)
- PRD ist kurzes Dokument (1-2 Seiten), welches alles zusammenfasst, was das Produkt (also das Resultat der Arbeit) sein soll.
- Inhalt:
- Abstract: Zu oberst in 2-3 Sätzen das Allerwichtigste kurz zusammengefasst.
- Programmbeschrieb:
- Beschreibe dein Programm in etwas mehr Detail.
- Welche Features, Modi usw. soll es haben?
- Skizze: Fertige Skizze an von Hauptbildschirm, wie etwa aussehen könnte. Von Hand oder mit Wireframe-Tool, z.B.:
- https://app.diagrams.net. Für Beispiele siehe: Neues Diagramm erstellen → Drahtgittermodelle / Wireframe → eines auswählen
- http://pencil.evolus.vn (muss installiert werden)
- Technische Details:
- Wie soll umgesetzt werden?
- Welche Programmiersprachen, Frameworks usw. sollen verwendet werden?
- Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, Programmbibliotheke)?