archetype | title | author | points | hidden |
---|---|---|---|---|
assignment |
Blatt 03: Git-Quest und Dojo-Dungeon (Git Basics, Lambda-Ausdrücke) |
Carsten Gips (HSBI) |
1 Punkt |
true |
Betrachten Sie die folgende Ausgabe von git status
in einer lokalen Workingcopy
(Arbeitskopie):
pm-lecture % git status
On branch b03
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: CONTRIBUTING.md
modified: homework/b03.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
foo.java
no changes added to commit (use "git add" and/or "git commit -a")
Erklären Sie die Ausgabe.
Geben Sie eine Befehlssequenz an, mit der Sie nur die Änderungen in foo.java
committen
können.
(Verteilung: 15%, 10%, 10%, 10%, 10%)
Klonen Sie die Vorgaben "Git-Quest". Sie finden die Geschichte des Helden Markus im Dungeon.1
-
Öffnen Sie eine Konsole und beantworten Sie mit Hilfe der Befehle
git checkout
,git log
undgit show
sowiegit diff
folgende Fragen:- Was passierte an
tag 01
? - Wann hat der Held zum ersten Mal 4
experience
Punkte? - Wann hat der Held zum ersten Mal 10
hunger
Punkte? - Wie viele Heiltränke hat der Held insgesamt in seinem Rucksack gehabt?
- Was hat der Held im Shop gekauft? Und wie viel Gold hat er dafür bezahlt?
- Was passierte zwischen Tag 03 und Tag 04, d.h. was änderte sich zwischen diesen Commits?
- Hat der Held etwas gegessen? Falls ja, was und wann?
- Was passierte an
-
Beim letzten Commit (Tag 04.5) ist etwas schief gelaufen, es wurden versehentlich zu wenig
experience
Punkte eingestellt. Ändern Sie diesen letzten Commit und passen Sie dieexperience
Punkte auf 42 an. -
Schreiben Sie die Geschichte in der Datei
questlog.md
fort und erzeugen Sie einen neuen Commit für Tag 04.6. Ändern Sie bitte hierzu nur die eine Dateiquestlog.md
. -
Schreiben Sie die Geschichte noch weiter fort (Tag 04.7), aber ändern Sie diesmal mehrere Dateien, die an diesem Tag (neuer Commit) gemeinsam eingecheckt werden sollen.
-
Fälschlicherweise wurden die Statuspunkte und die Ausrüstung bisher gemeinsam in der Datei
stats.md
geführt. Korrigieren Sie das und verschieben Sie die Ausrüstungsgegenstände aus der Dateistats.md
in eine neue Dateigear.md
. Checken Sie Ihre Änderungen als Tag 04.8 (neuer Commit) gemeinsam ein. (Hinweis: Es reicht, wenn diese Änderung als letzter Commit auf der Spitze desmaster
-Branches existiert. Sie brauchen/sollen die Trennung von Statuspunkten und Ausrüstung nicht rückwirkend in die Historie einbauen!)
Demonstrieren Sie Ihr Vorgehen im Praktikum jeweils live.
Gute Commit-Meldungen schreiben erfordert Übung. Schauen Sie sich die beiden Commits Dungeon-CampusMinden/Dungeon/commit/46530b6 und Dungeon-CampusMinden/Dungeon/commit/3e37472 an.
Diskutieren Sie jeweils, was Ihnen an den Commits auffällt: Was gefällt Ihnen, was stört Sie? Schlagen Sie Verbesserungen vor.
Klonen Sie das Projekt Dungeon und laden Sie es in Ihrer IDE als Gradle-Projekt. Betrachten Sie das Sub-Projekt "dojo-dungeon". Dies ist ein von den Tutoren2 erstelltes kleines Spiel mit vier Leveln, in denen Sie spielerisch Aufgaben lösen sollen - auf diesem Aufgabenblatt ist nur das erste Level relevant.
Starten Sie den Dojo-Dungeon mit ./gradlew dojo-dungeon:runDojoDungeon
. Spielen Sie sich für
diese Aufgabe durch das erste Level ("Der Vergessene Wald"). Sie werden drei Räume finden: Im
ersten Raum müssen Sie die Monster besiegen - eines wird Ihnen dabei einen Schlüssel geben.
Heben Sie diesen auf, nur damit öffnet sich die Tür zum zweiten Raum. Dort bekommen Sie eine
Quest: Sie sollen im Asset-Ordner vom "dojo-dungeon"-Sub-Projekt eine Java-Datei korrigieren.
Tun Sie dies und folgen Sie den Anweisungen. Ist die Aufgabe erfolgreich gelöst, gelangen Sie
in den dritten Raum. Hier werden Ihnen Fragen zu Lambda-Ausdrücken gestellt, die Sie bitte
beantworten. Danach steht Ihnen das nächste Level offen, aber das brauchen Sie für diese
Aufgabe (noch) nicht zu lösen.
Das Spiel wird über die Tastatur bedient, die kurze Anleitung "How to play" erklärt die einzelnen Tasten.
Machen Sie Screenshots der Fragen und Ihrer Antworten für die Vorstellung im Praktikum. Zeigen und erklären Sie die Korrekturen an der Java-Datei.
[WICHTIG: Achten Sie bitte darauf, dass im Projektpfad keine Leerzeichen und keine Sonderzeichen (Umlaute o.ä.) vorkommen! Dies kann zu seltsamen Fehler führen. Bitte auch darauf achten, dass Sie als JDK ein Java SE 21 (LTS) verwenden.]{.alert}
Footnotes
-
Für alle, die schon mit Branches umgehen können: Betrachten Sie auf diesem Blatt bitte nur den Branch
master
. ↩ -
Der Dank für den "dojo-dungeon" geht an @Denniso3, @tgrothe und @JudiTeller. ↩