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
ef_informatik:projekt_consolegames [2024-01-02 09:39] – [Bewertung] scaef_informatik:projekt_consolegames [2026-01-06 13:31] (aktuell) – [Console Befehle] sps
Zeile 3: Zeile 3:
 <color red>**DEADLINE: (siehe Details zur Abgabe weiter unten)**</color> <color red>**DEADLINE: (siehe Details zur Abgabe weiter unten)**</color>
  
-   <color red>**3M: 05.01.2024, @23.59**</color> +   * **Freitag 30Januar 2026, @23.59** (Freitag von Ferien) 
-   <color red>**4M: 12.01.2024, @23.59**</color>+   * **Mündliche Prüfung am Dienstag 3Feb2026**
  
 **Ziele:** **Ziele:**
  
    * Zusammen eine **Sammlung** von **Singleplayer-Konsolengames** erstellen.    * Zusammen eine **Sammlung** von **Singleplayer-Konsolengames** erstellen.
-   * Alle steuern (alleine oder in 2er-Gruppen) **ein Game** bei,+   * Alle steuern alleine **ein Game** bei,
    * ... wobei das **Framework** vorgegeben ist.    * ... wobei das **Framework** vorgegeben ist.
    * Grundideen der **objektorientierten Programmierung (OOP)** verstehen.    * Grundideen der **objektorientierten Programmierung (OOP)** verstehen.
Zeile 21: Zeile 21:
 ===== Übersicht ===== ===== Übersicht =====
  
-Das Ziel ist, in der Klasse eine **Konsolen-Game-Sammlung** zu erstellen, wobei ihr alle entweder alleine oder in Zweiergruppen (Kriterien unten) ein **Game beisteuert**. Das Framework, in welches euer Game dann eingebunden wird, wird von den Lehrpersonen vorgegeben. In diesem Framework kann man dann u.A. das Game auswählen, Spielstände speichern und Highscores einsehen.+Das Ziel ist, in der Klasse eine **Konsolen-Game-Sammlung** zu erstellen, wobei ihr alle ein **Game beisteuert**. Das Framework, in welches euer Game dann eingebunden wird, wird von den Lehrpersonen vorgegeben. In diesem Framework kann man dann u.A. das Game auswählen, Spielstände speichern und Highscores einsehen.
  
 Das Game wird bewertet und es gibt eine mündliche Prüfung dazu. Beides zusammen gibt die zweite Note in diesem Semester. Das Game wird bewertet und es gibt eine mündliche Prüfung dazu. Beides zusammen gibt die zweite Note in diesem Semester.
Zeile 34: Zeile 34:
 ===== Framework ===== ===== Framework =====
  
-{{ :ef_informatik:consolegames2023v01.zip |}} +{{ :ef_informatik:consolegames2025v01.zip |ConsoleGames 2025 v01}}
 ===== Aufträge ===== ===== Aufträge =====
  
 ==== Auftrag 0 ==== ==== Auftrag 0 ====
  
-   * **Gruppen** bilden, Kriterien: 
-     * Grundsätzlich wird das Projekt **alleine** absolviert. 
-     * Ausnahmsweise können **Zweiergruppen** genehmigt werden, aber nur falls (a) beide Personen genügend waren bei der letzten Prüfung und (b) beide Personen auf einem ähnlichen Programmierstand (vergleichbare Note) sind. 
    * **Game überlegen**, mit LP besprechen und ...    * **Game überlegen**, mit LP besprechen und ...
    * ... **absegnen lassen**    * ... **absegnen lassen**
- 
  
 Die **Kriterien** an das Game sind: Die **Kriterien** an das Game sind:
Zeile 51: Zeile 46:
    * Spiel in Konsole.    * Spiel in Konsole.
    * Ihr dürft ein bereits bekanntes Spiel implementieren. Ihr könnt aber auch ein eigenes erfinden oder ein bestehende abändern/erweitern. (-> Kriterium: Spielidee, Originalität)    * Ihr dürft ein bereits bekanntes Spiel implementieren. Ihr könnt aber auch ein eigenes erfinden oder ein bestehende abändern/erweitern. (-> Kriterium: Spielidee, Originalität)
-   * Es ist für sämtliche Gruppenmitglieder ein neues Spiel, ihr habt diese also nicht bereits im Vorfeld programmiert.+   * Es ist ein neues Spiel, ihr habt diese also nicht bereits im Vorfeld programmiert.
    * Gibt nach erfolgreichem Spielen einen Score zurück: absolviertes Level und Anzahl Punkte (z.B. gesammelte Punkte, Spieldauer in Sekunden, Anzahl Versuche, ...)    * Gibt nach erfolgreichem Spielen einen Score zurück: absolviertes Level und Anzahl Punkte (z.B. gesammelte Punkte, Spieldauer in Sekunden, Anzahl Versuche, ...)
    * Es ist auch möglich (und sogar wünschenswert), verschiedene Levels zu haben. Das Ziel wäre dann, ein möglichst hohes Level mit einem möglichst guten Score zu erzielen.    * Es ist auch möglich (und sogar wünschenswert), verschiedene Levels zu haben. Das Ziel wäre dann, ein möglichst hohes Level mit einem möglichst guten Score zu erzielen.
    * Das Game wird selbständig und komplett von euch programmiert.    * Das Game wird selbständig und komplett von euch programmiert.
    * Der programmiererische Schwierigkeitsgrad eures Games entspricht in etwa euren Vorkenntnissen: Z.B. wird von den Talits mehr erwartet!    * Der programmiererische Schwierigkeitsgrad eures Games entspricht in etwa euren Vorkenntnissen: Z.B. wird von den Talits mehr erwartet!
-   Die Erwartungen an Zweiergruppen sind höher als an EinzelkämpferInnen. +   Es gibt für alle eine mündliche Prüfung. Dort müsst ihr demonstrieren, dass ihr euer Programm komplett versteht.
-   * Gegen Ende des Semesters gibt es für alle Gruppen eine mündliche Prüfung. Dort müsst ihr demonstrieren, dass ihr euer Programm komplett versteht.+
  
 ==== Auftrag I: HangMan im Framework ==== ==== Auftrag I: HangMan im Framework ====
Zeile 97: Zeile 91:
 A: Eine Methode ist eine Funktion, die zu einer *Klasse* gehört. A: Eine Methode ist eine Funktion, die zu einer *Klasse* gehört.
  
-==== Hauptauftrag: Eigenes Game programmieren ====+==== Auftrag II: Eigenes Game programmieren ====
  
 === Vorgehen === === Vorgehen ===
  
    1. Sicherstellen, dass Projekt von Lehrpersonen **abgesegnet** wurde    1. Sicherstellen, dass Projekt von Lehrpersonen **abgesegnet** wurde
-   1. **Neues Repo** erstellen mit *passendem Namen*. 
    1. Repo den Lehrpersonen **freigeben**.    1. Repo den Lehrpersonen **freigeben**.
-   1. Aktuelle Version von Framework herunterladen, entpacken und in Repo kopieren. 
    1. Beginnen mit Arbeiten.    1. Beginnen mit Arbeiten.
    1. **Tipp:** Zuerst Planen, Modellieren & Skizzieren, erst dann Programmieren!    1. **Tipp:** Zuerst Planen, Modellieren & Skizzieren, erst dann Programmieren!
-   1. Regelmässige und unaufgeforderte **Commits & Pushes** von allen Gruppenmitgliedern, ca. 2x pro Woche +   1. Regelmässige und unaufgeforderte **Commits & Pushes**, ca. 2x pro Woche 
-   1. **Pünktliche Abgabe:** Sende Game-Klasse(n) (NICHT das gesamte VS Projekt) per Teams-Chat an sca. +   1. **Pünktliche Abgabe:** Sende Game-Klasse(n) (NICHT das gesamte VS Projekt) und/oder GitHub-Repo per Teams-Chat an sca (freigeben für anschae) 
-   1. **Verspätete Abgabe:** Note pro angebrochene 24h Verspätung+   1. **Verspätete Abgabe:** 0.25 Note pro angebrochene 24h Verspätung
  
  
 === Bewertung === === Bewertung ===
  
-Das Game einer Gruppe (1-2 Leute) wird mit einer Note bewertet. Alle Personen in der Gruppe erhalten im Normalfall die gleiche Note. Ausnahme: es ist klar ersichtlich, dass eine Person deutlich mehr beigetragen hat als die andere. +Das Game wird mit einer Note bewertet.
- +
-**Gibt es Probleme in der Gruppe, meldet dies rechtzeitig, damit wir eine Lösung finden können.**+
  
 ^ Kriterium ^ Punkte ^ ^ Kriterium ^ Punkte ^
Zeile 150: Zeile 140:
  
 <nodisp 2> <nodisp 2>
 +
 +++++ Kommentare|
 +
 <color blue> <color blue>
 Änderungen für 2025 usw: Gute Kommentierung in Code sollten auch Punkte geben, zB 10 dafür, aber nur 10 für mündl. P oder so Änderungen für 2025 usw: Gute Kommentierung in Code sollten auch Punkte geben, zB 10 dafür, aber nur 10 für mündl. P oder so
 </color> </color>
 +
 +++++
 +
 </nodisp> </nodisp>
  
Zeile 177: Zeile 173:
 Console.SetCursorPosition(20,10); Console.SetCursorPosition(20,10);
 Console.Write(); Console.Write();
 +
 +// Read current cursor position
 +(int left, int top) = Console.GetCursorPosition();
  
 // Read input // Read input
  • ef_informatik/projekt_consolegames.1704188398.txt.gz
  • Zuletzt geändert: 2024-01-02 09:39
  • von sca