Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
talit:projekte [2024-08-08 11:43] – [Vorgehen] sca | talit:projekte [2024-08-26 14:11] (aktuell) – [Product Requirements Document (PRD)] sca | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
* Eines von drei **offiziellen TALIT-Projekten** | * Eines von drei **offiziellen TALIT-Projekten** | ||
- | * Muss **PyGame** Projekt | + | * Muss **Python-Programmierprojekt** sein |
+ | * Empfehlung: mit PyGame (muss aber nicht) | ||
* **muss bestanden** werden, ansonsten ist TALIT-Reise vorbei | * **muss bestanden** werden, ansonsten ist TALIT-Reise vorbei | ||
* **Abgabe** | * **Abgabe** | ||
Zeile 11: | Zeile 12: | ||
===== Ideen ===== | ===== 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, | * **Bekanntes Game** mit **eigenem Twist** (Tetris, Pac-Man, Flipper-Kasten, | ||
Zeile 23: | Zeile 22: | ||
- | ===== Vorgehen ===== | ||
- | 1. **Part 1:** PyGame kennenlernen | + | ===== Tipps ===== |
- | 1. Studiere die folgende Seite und lade das **PyGame-Template** herunter: [[talit: | + | |
+ | * Empfehlung: Verwende **PyGame**. 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. | ||
+ | * Es gibt aber auch andere Python-Libraries, | ||
+ | * Website, um eigene Pixelart zu erstellen (auch Animationen): | ||
- | | + | |
- | 1. GitRepo mit passendem Namen erstellen, mit Betreuer teilen | + | ===== Vorgehen ===== |
- | 1. **Product Requirements Document** (PRD, mehr Infos unten) *in Repo* erstellen und Betreuer mitteilen (per Teams inkl. Link) | + | |
- | 1. PRD mit Betreuer besprechen. | + | |
- | 1. Anfangen zu arbeiten, regelmässige | + | 1. Studiere die folgende Seite: [[talit: |
- | 1. Bei Fragen, Problemen in Lektion kommen | + | 1. Führe das folgende **Tutorial** aus: [[talit: |
+ | | ||
+ | 1. **Part 3:** | ||
+ | 1. Idee ausarbeiten, | ||
+ | 1. GitRepo mit passendem Namen erstellen, mit Betreuer teilen | ||
+ | | ||
+ | | ||
+ | 1. **Part 4:** | ||
+ | 1. Mit arbeiten | ||
+ | | ||
+ | 1. Ab jetzt kann **zuhause gearbeitet werden** | ||
+ | 1. Aus **eigenem Antrieb treffen mit LP abmachen, mind 1. pro Monat!** | ||
+ | 1. Bei Fragen, Problemen in Lektion kommen | ||
===== Product Requirements Document (PRD) ===== | ===== Product Requirements Document (PRD) ===== | ||
Zeile 53: | Zeile 65: | ||
* Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, | * Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | <nodisp 2> | ||
+ | |||
+ | NODISP 2 | ||
+ | |||
+ | **BEM SCA: würde ergänzen: | ||
+ | |||
+ | * Grobe Timeline | ||
+ | * Wo könnten Hauptprobleme sein? | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Kriterien und Anforderungen ===== | ||
+ | |||
+ | * Das Projekt muss ein Programmierprojekt, | ||
+ | * Die Projektidee muss mit der LP abgesprochen werden und muss dann so umgesetzt werden. Allfällige **Planabweichungen** müssen rechtzeitig beantragt und von der LP abgesegnet werden. | ||
+ | * Es muss sauber **objektorientiert** programmiert sein. | ||
+ | * Der **Programmierstil** muss demjenigen des **PyGame-Templates** oben entsprechen (verschiedenen Files, Aufbau der Klassen, ...). Arbeitet man mit PyGame, so ist es empfohlen, mit diesem Template zu starten und es entsprechend anzupassen. | ||
+ | * **Ressourcen** wie Bilder, Musik, Videos sollen möglichst selbst erstellt werden. Falls solche aus dem Internet verwendet werden, so müssen diese royalty free sein. | ||
+ | * Der Code muss folgende **Kriterien** erfüllen | ||
+ | * sauber strukturiert | ||
+ | * passende Abstände im Code | ||
+ | * sinnvolle Namen für Variablen, Methoden usw. | ||
+ | * an [[python_setup# | ||
+ | * sinnvoll kommentiert (so dass LP in kurzer Zeit Code verstehen kann) | ||