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 13:05] – [Product Requirements Document (PRD)] 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,
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 ===== ===== Kriterien und Anforderungen =====
  
-   * Das Projekt muss mit **PyGame** umgesetzt werden.+   * 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.    * Es muss sauber **objektorientiert** programmiert sein.
-   * Der **Programmierstil** muss demjenigen des **Templates** oben entsprechen (verschiedenen Files, Aufbau der Klassen, ...). Am besten startet man mit diesem Template und passt es entsprechend an.+   * 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    * Der Code muss folgende **Kriterien** erfüllen
      * sauber strukturiert      * sauber strukturiert
-     * sinnvoll kommentiert 
      * 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#programmier-konventionen|Python Konventionen]] halten      * an [[python_setup#programmier-konventionen|Python Konventionen]] halten
 +     * sinnvoll kommentiert (so dass LP in kurzer Zeit Code verstehen kann)
  
  
  • talit/projekte.1723122331.txt.gz
  • Zuletzt geändert: 2024-08-08 13:05
  • von sca