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 13:06] – [Kriterien und Anforderungen] 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 21: | Zeile 20: | ||
* Kinder, z.B. Buchstaben spielerisch lernen | * Kinder, z.B. Buchstaben spielerisch lernen | ||
* ... | * ... | ||
+ | |||
+ | |||
+ | |||
+ | ===== Tipps ===== | ||
+ | |||
+ | * 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): | ||
===== Vorgehen ===== | ===== Vorgehen ===== | ||
- | 1. **Part 1:** PyGame kennenlernen | + | 1. **Part 1:** PyGame kennenlernen |
1. Studiere die folgende Seite: [[talit: | 1. Studiere die folgende Seite: [[talit: | ||
1. Führe das folgende **Tutorial** aus: [[talit: | 1. Führe das folgende **Tutorial** aus: [[talit: | ||
- | 1. **Part 2:** Idee für PyGame-Projekt | + | 1. **Part 2:** Idee für Python-Programmierprojekt |
1. **Part 3:** | 1. **Part 3:** | ||
1. Idee ausarbeiten, | 1. Idee ausarbeiten, | ||
Zeile 58: | 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 ===== | ===== Kriterien und Anforderungen ===== | ||
- | * Das Projekt muss mit **PyGame** umgesetzt werden. | + | * Das Projekt muss ein Programmierprojekt, |
+ | * Die Projektidee muss mit der LP abgesprochen werden und muss dann so umgesetzt | ||
* Es muss sauber **objektorientiert** programmiert sein. | * Es muss sauber **objektorientiert** programmiert sein. | ||
- | * Der **Programmierstil** muss demjenigen des **Templates** oben entsprechen (verschiedenen Files, Aufbau der Klassen, ...). Am besten startet | + | * Der **Programmierstil** muss demjenigen des **PyGame-Templates** oben entsprechen (verschiedenen Files, Aufbau der Klassen, ...). Arbeitet |
+ | * **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 | * Der Code muss folgende **Kriterien** erfüllen | ||
* sauber strukturiert | * sauber strukturiert | ||
- | * sinnvoll kommentiert (so dass für LP gut verständlich) | ||
* passende Abstände im Code | * passende Abstände im Code | ||
* sinnvolle Namen für Variablen, Methoden usw. | * sinnvolle Namen für Variablen, Methoden usw. | ||
* an [[python_setup# | * an [[python_setup# | ||
+ | * sinnvoll kommentiert (so dass LP in kurzer Zeit Code verstehen kann) | ||