diff options
| -rw-r--r-- | Info/9/3/Rennbahn/slides.md | 79 |
1 files changed, 53 insertions, 26 deletions
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 und die geheimnisvollen Knöpfe --> -{.center} +<!-- {.center} --> -### Act +<!-- ### Act --> -Ruft die `act`-Methode jedes Actors [einmal]{.underline} auf. +<!-- Ruft die `act`-Methode jedes Actors [einmal]{.underline} auf. --> -### Run +<!-- ### Run --> -Startet eine Wiederholug und ruft in jedem Schritt die `act`-Methode jedes Actors auf. +<!-- 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 - Implementiere den Konstruktor der Klasse Auto 10 min --> + +<!-- \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}). --> + +## \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. <!-- ## Methoden aufrufen --> @@ -210,24 +221,40 @@ class Auto { ::: {.columns} :::: {.column width=50%} -```java -pubic class Rakete { +<!-- ```java --> +<!-- pubic class Rakete { --> + <!-- int geschwindigkeit = 20; --> + <!-- void bewegen() { --> + <!-- setLocation(getX(), --> + <!-- getY() - geschwindigkeit); --> + <!-- } --> +<!-- } --> +<!-- ``` --> +```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 { --> + <!-- int geschwindigkeit = 3; --> + <!-- void bewegen() { --> + <!-- setLocation(getX(), --> + <!-- getY() + geschwindigkeit); --> + <!-- } --> +<!-- } --> +<!-- ``` --> ```java -pubic class Bus { +class Bus extends Actor { int geschwindigkeit = 3; - void bewegen() { - setLocation(getX(), - getY() + geschwindigkeit); + void act() { + forward(-geschwindigkeit); } } ``` |
