Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
talit:projekte [2024-08-08 12:43] – [Vorgehen] scatalit: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 sein+   * 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, mit denen man **GUI**s erstellen kann wie PyQT, ...
 +   * Website, um eigene Pixelart zu erstellen (auch Animationen): [[http://piskelapp.com]]
  
  
 ===== Vorgehen ===== ===== Vorgehen =====
  
-  1. **Part 1:** PyGame kennenlernen+  1. **Part 1:** PyGame kennenlernen (-> muss nachher nicht verwendet werden, ist aber empfohlen)
     1. Studiere die folgende Seite: [[talit:python_pygame]]     1. Studiere die folgende Seite: [[talit:python_pygame]]
     1. Führe das folgende **Tutorial** aus: [[talit:python_pygame#tutorial]] (PyGame installieren, Template herunterladen, verstehen, erweitern)     1. Führe das folgende **Tutorial** aus: [[talit:python_pygame#tutorial]] (PyGame installieren, Template herunterladen, verstehen, erweitern)
-  1. **Part 2:** Idee für PyGame-Projekt ausdenken, mit LP besprechen, absegnen lassen.+  1. **Part 2:** Idee für Python-Programmierprojekt ausdenken, mit LP besprechen, absegnen lassen.
   1. **Part 3:**   1. **Part 3:**
      1. Idee ausarbeiten,      1. Idee ausarbeiten,
      1. GitRepo mit passendem Namen erstellen, mit Betreuer teilen      1. GitRepo mit passendem Namen erstellen, mit Betreuer teilen
      1. **Product Requirements Document** (PRD, mehr Infos unten) *in Repo* erstellen und Betreuer mitteilen (per Teams inkl. Link)      1. **Product Requirements Document** (PRD, mehr Infos unten) *in Repo* erstellen und Betreuer mitteilen (per Teams inkl. Link)
-     1. PRD mit Betreuer besprechen.+     1. PRD mit Betreuer besprechen (vor Ort oder per Teams)
   1. **Part 4:**   1. **Part 4:**
      1. Mit arbeiten beginnen      1. Mit arbeiten beginnen
Zeile 58: Zeile 65:
        * Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, Programmbibliotheke)?        * Hat das Produkt eine Schnittstelle (Web-App, Konsolenprogramm, Programmbibliotheke)?
      * [[https://github.com/JungleState/ksr_junglestate/blob/main/doc/requirements.md|Beispiel]]      * [[https://github.com/JungleState/ksr_junglestate/blob/main/doc/requirements.md|Beispiel]]
 +
 +<nodisp 2>
 +
 +NODISP 2
 +
 +**BEM SCA: würde ergänzen:**
 +
 +   * Grobe Timeline
 +   * Wo könnten Hauptprobleme sein?
 +
 +</nodisp>
 +
 +
 +===== Kriterien und Anforderungen =====
 +
 +   * Das Projekt muss ein Programmierprojekt, in welchem ausschliesslich mit **Python** programmiert wird. Webprojekte z.B. mit Flask sind explizit *nicht* erlaubt (wird später in TALIT gemacht).
 +   * 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#programmier-konventionen|Python Konventionen]] halten
 +     * sinnvoll kommentiert (so dass LP in kurzer Zeit Code verstehen kann)
  
  
  • talit/projekte.1723121020.txt.gz
  • Zuletzt geändert: 2024-08-08 12:43
  • von sca