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 11:06] – [Ideen] 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. Projekt von LP absegnen lassenBetreuer finden (sca oder hof+  1. **Part 1:** PyGame kennenlernen (-> muss nachher nicht verwendet werdenist aber empfohlen) 
-  1. GitRepo mit passendem Namen erstellen, mit Betreuer teilen +    1. Studiere die folgende Seite: [[talit:python_pygame]] 
-  1. **Product Requirements Document** (PRD, mehr Infos unten) *in Repo* erstellen und Betreuer mitteilen (per Teams inkl. Link) +    1. Führe das folgende **Tutorial** aus: [[talit:python_pygame#tutorial]] (PyGame installieren, Template herunterladen, verstehen, erweitern
-  1. PRD mit Betreuer besprechen. +  1. **Part 2:** Idee für Python-Programmierprojekt ausdenken, mit LP besprechen, absegnen lassen. 
-  1. Anfangen zu arbeitenregelmässige Treffen mit Betreuer (ca1x pro Monat+  1. **Part 3:** 
-  1. Bei Fragen, Problemen in Lektion kommen+     1. Idee ausarbeiten, 
 +     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. PRD mit Betreuer besprechen (vor Ort oder per Teams) 
 +  1. **Part 4:** 
 +     1. Mit arbeiten beginnen 
 +     1. regelmässige commits (mindpro Wocheund pushes 
 +     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 49: 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.1723115191.txt.gz
  • Zuletzt geändert: 2024-08-08 11:06
  • von sca