From 7dc3c767d992dfbf019b1e8133b22ff825169903 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 15 Jul 2026 12:11:42 +0200 Subject: rennbahn: adapt slides to Online-IDE --- Info/9/3/Rennbahn/slides.md | 79 ++++++++++++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 26 deletions(-) (limited to 'Info') diff --git a/Info/9/3/Rennbahn/slides.md b/Info/9/3/Rennbahn/slides.md index 37675922..8305e0c8 100644 --- a/Info/9/3/Rennbahn/slides.md +++ b/Info/9/3/Rennbahn/slides.md @@ -6,17 +6,17 @@ Erstelle eine Klassendiagramm (mehrere Klassenkarten) zu allen Klassen, die du beim Rennen entdecken kannst. -## Greenfoot und die geheimnisvollen Knöpfe + -![](greenfoot_buttons.png){.center} + -### Act + -Ruft die `act`-Methode jedes Actors [einmal]{.underline} auf. + -### Run + -Startet eine Wiederholug und ruft in jedem Schritt die `act`-Methode jedes Actors auf. + ## Von der Klassenkarte zum Code @@ -101,7 +101,7 @@ Objekte einer Klasse werden mit dem Schlüsselwort `new`{.java} erzeugt. \pause ### \faIcon{pencil-alt} [Der Konstruktor]{.underline} ->- **Methode** der Klasse, die beim Erzeugen ein neues Objekt aufgerufen wird. +>- **Methode** der Klasse, die beim Erzeugen eines neuen Objekts aufgerufen wird. >- Heißt immer wie die Klasse. >- Hat [keine]{.underline} Angabe eines Rückgabetyps. @@ -131,15 +131,25 @@ Auto() { // Konstruktor :::: ::: -## \faIcon{desktop} Arbeitsauftrag - Implementiere den Konstruktor der Klasse Auto 10 min + + + + + + + + + + +## \faIcon{desktop} Arbeitsauftrag - Ergänze den Konstruktor der Klasse Auto \hfill 10 min +Öffne den **Rennbahn** Workspace in der Online-IDE. \large -* Kopiere das Greenfoot-Projekt **Rennbahn** aus dem Vorlagen-Laufwerk und öffne es in Greenfoot. -* Ergänze den **Konstruktor** der Klasse `Auto` - * Der Konstruktor soll die `geschwindigkeit` auf 2 initialisieren -* **Für Schnelle**: - Erzeuge ein Auto und eine Rakete im Konstruktor der Klasse `Rennbahn`. - Positioniere das Auto an Position $(90 | 700)$ und die Rakete an Position $(220 | 700)$ (`addObject(object, x, y)`{.java}). +1. Ergänze den **Konstruktor** der Klasse `Auto` + Der Konstruktor soll die `geschwindigkeit` auf 2 initialisieren + +\faIcon{earlybirds} **Für Schnelle**: + Erzeuge eine eine Rakete im Konstruktor der Klasse `Rennbahn`. ## \faIcon{pencil-alt} Konstruktor \only<2->{mit Parametern} @@ -183,10 +193,11 @@ class Auto { ## \faIcon{desktop} Arbeitsauftrag - `Auto` **Konstruktor** mit Parametern \large -* Ergänze den Konstruktor der Klasse `Auto`: +3. Ergänze den Konstruktor der Klasse `Auto`: * die Geschwindigkeit soll angegeben werden können * die Farbe soll angegeben werden können \vspace{0.5cm} -* **Für Schnelle:** Implementiere eine neue Klasse `Bus` als Unterklasse von `Actor` mit Geschwindigkeit 3. + +\faIcon{earlybirds} **Für Schnelle:** Implementiere eine neue Klasse `Bus` als Unterklasse von `Actor` mit Geschwindigkeit 3. @@ -210,24 +221,40 @@ class Auto { ::: {.columns} :::: {.column width=50%} -```java -pubic class Rakete { + + + + + + + + + +```java +class Rakete extends Actor { int geschwindigkeit = 20; - void bewegen() { - setLocation(getX(), - getY() - geschwindigkeit); + void act() { + forward(-geschwindigkeit); } } -``` +``` :::: :::: {.column width=50%} + + + + + + + + + ```java -pubic class Bus { +class Bus extends Actor { int geschwindigkeit = 3; - void bewegen() { - setLocation(getX(), - getY() + geschwindigkeit); + void act() { + forward(-geschwindigkeit); } } ``` -- cgit v1.2.3