Skip to content

Commit 741b360

Browse files
committed
erste schritte des fangspiels
1 parent 93f3498 commit 741b360

File tree

7 files changed

+367
-0
lines changed

7 files changed

+367
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Figuren und Hintergrund
3+
index: 1
4+
lang: de
5+
---
6+
7+
# Figuren und Hintergrund
8+
9+
Für dieses Spiel brauchen wir zwei Figuren: Eine Schale und eine Orange. Außerdem benötigen wir einen Hintergrund, auf dem das Spiel stattfindet.
10+
11+
## Schale erstellen
12+
13+
1. Klicke auf das Katzen-Symbol mit dem Plus in der unteren rechten Ecke.
14+
2. Klicke auf die Lupe.
15+
3. Suche die Figur "Bowl".
16+
17+
## Orange erstellen
18+
19+
1. Klicke auf das Katzen-Symbol mit dem Plus in der unteren rechten Ecke.
20+
2. Klicke auf die Lupe.
21+
3. Suche die Figur "Orange".
22+
23+
## Hintergrund erstellen
24+
25+
1. Klicke auf das Bild-Symbol mit dem Plus in der unteren rechten Ecke.
26+
2. Klicke auf die Lupe.
27+
3. Such den Hintergrund "Blue Sky".
28+
29+
:::alert{info}
30+
Du kannst natürlich einen eigenen Hintergrund wählen :wink:.
31+
:::
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
name: Figur (Orange) programmieren
3+
index: 2
4+
lang: de
5+
---
6+
7+
# Figur (Orange) programmieren
8+
9+
In Scratch starten wir immer mir einem Ereignis-Block.
10+
11+
## Schritt 1: Ereignis-Block erstellen
12+
13+
1. Klicke auf die Figur Orange
14+
2. Ziehe den Ereignis-Block in den Scriptbereich.
15+
16+
:::scratchblock{language="de"}
17+
Wenn die grüne Flagge angeklickt
18+
:::
19+
20+
## Schritt 2: Figur zu Startposition bewegen
21+
22+
1. Klicke auf die Figur Orange
23+
2. Ziehe den Block `gehe zu (Zufallspoistion)` in den Scriptbereich und verbinde ihn mit dem Ereignis-Block.
24+
25+
:::scratchblock{language="de"}
26+
Wenn die grüne Flagge angeklickt
27+
gehe zu (Zufallspoistion v)
28+
:::
29+
30+
Jetzt wird die Orange immer an einer zufälligen Position auf dem Spielfeld erscheinen.
31+
32+
## Schritt 3: y-Position festlegen
33+
34+
Die Orange soll nur in der x-Position (links-rechts) zufällig gesetzt werden. Die y-Position (oben-unten) soll fest sein, da die Orange vom oberen Rand herunterfallen sollen.
35+
36+
1. Klicke auf die Figur Orange
37+
2. Ziehen den Block `setze y auf (0)` in den Skriptbereich.
38+
3. Setze den Wert auf 180.
39+
40+
:::scratchblock{language="de"}
41+
Wenn die grüne Flagge angeklickt
42+
gehe zu (Zufallspoistion v)
43+
setze y auf (180)
44+
:::
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Das Fallen der Figur (Orange) programmieren
3+
index: 3
4+
lang: de
5+
---
6+
7+
# Das Fallen der Figur (Orange) programmieren
8+
9+
Damit die Orange auch herunterfällt und nicht am oberen Rand bleibt, müssen wir dies programmieren.
10+
11+
Dazu verwenden wir einen Block aus der Kategorie **Steuerung**.
12+
13+
## Schritt 1: Wiederholung hinzufügen
14+
15+
1. Klicke auf die Figur Orange.
16+
2. Ziehe den Block `wiederhole fortlaufend` in den Scriptbereich und verbinde ihn mit dem Ereignis-Block.
17+
3. Ziehe den Block `änder y um 0` in den Block `wiederhole fortlaufend` und verändere den Wert auf -10.
18+
19+
:::scratchblock{language="de"}
20+
Wenn die grüne Flagge angeklickt
21+
gehe zu (Zufallspoistion v)
22+
setze y auf (180)
23+
wiederhole fortlaufend
24+
ändere y um (-10)
25+
:::
26+
27+
Jetzt fällt die Orange nach Unten.
28+
29+
## Ausprobieren
30+
31+
Probiere es durch Anklicken der grünen Flagge aus.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
name: Die Figur (Orange) zurücksetzen
3+
index: 4
4+
lang: de
5+
---
6+
7+
# Die Figur (Orange) zurücksetzen
8+
9+
Die Orange fällt bis zum unteren Rand. Sie soll aber wieder von oben starten. Dafür brauchen wir einen Block aus der Kategorie **Steuerung**.
10+
11+
## Schritt 1: Wenn die Orange den unteren Rand erreicht
12+
13+
1. Klicke auf die Figur Orange.
14+
2. Ziehe den Block `falls, dann sonst` in den Scriptbereich und verbinde ihn mit dem Block `ändere y um (-10)`.
15+
16+
:::scratchblock{language="de"}
17+
Wenn die grüne Flagge angeklickt
18+
gehe zu (Zufallsposition v)
19+
setze y auf (180)
20+
wiederhole fortlaufend
21+
falls <>, dann
22+
sonst
23+
ändere y um (-10)
24+
:::
25+
26+
## Schritt 2: Bedingung hinzufügen
27+
28+
Bis jetzt funktioniert der neue Block noch nicht, wir brauchen eine Bedingung.
29+
30+
Die y-Position der Orange soll nur geändert werden, wenn sie noch nicht unten angekommen ist. Dazu brauchen wir einen Block aus der Kategorie **Operatoren**.
31+
32+
1. Klicke auf die Figur Orange.
33+
2. Ziehe den Block den kleiner-als-Block in den Block `falls, dann sonst`.
34+
3. Setze den Wert der linken Seite auf `y-Position`. Diesen Block findest du in der Kategorie **Bewegung**.
35+
4. Setze den Wert der rechten Seite auf -180.
36+
37+
:::scratchblock{language="de"}
38+
Wenn die grüne Flagge angeklickt
39+
gehe zu (Zufallsposition v)
40+
setze y auf (180)
41+
wiederhole fortlaufend
42+
falls <(y-Position) < (-180)>, dann
43+
sonst
44+
ändere y um (-10)
45+
:::
46+
47+
## Schritt 3: Zurücksetzen
48+
49+
Jetzt müssen wir die Orange zurücksetzen.
50+
51+
1. Setze einen weiteren `gehe zu Zufallsposition` Block in den falls, dann Teil.
52+
2. Setze einen weiteren `setze y auf 180` Block in den falls, dann Teil.
53+
54+
:::scratchblock{language="de"}
55+
Wenn die grüne Flagge angeklickt
56+
gehe zu (Zufallsposition v)
57+
setze y auf (180)
58+
wiederhole fortlaufend
59+
falls <(y-Position) < (-180)>, dann
60+
gehe zu (Zufallsposition v)
61+
setze y auf (180)
62+
sonst
63+
ändere y um (-10)
64+
:::
65+
66+
## Ausprobieren
67+
68+
Klick auf die grüne Flagge. Die Orange sollte jetzt immer wieder herunterfallen.
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
name: Figur (Korb) steuern
3+
index: 5
4+
lang: de
5+
---
6+
7+
# Figur (Korb) steuern
8+
9+
Jetzt wollen wir die herunterfallende Orange mit unserem Korb auffangen können.
10+
11+
Dazu müssen wir den Korb steueren können. Dies können wir entweder über die Tastur oder über den Touchscreen ermöglichen.
12+
13+
Suche dir eine von den beiden Arten aus.
14+
15+
:::::tabs{id="steuerung"}
16+
17+
::::tab{title="Tastatur" id="tastatur"}
18+
19+
Wenn die Pfeiltaste nach lniks gedrückt wird, soll die x-Position (links-rechts) der Orange kleiner werden. Das heißt, dass sie nach links wandert.
20+
21+
Wenn die Pfeiltaste nach rechts gedrückt wird, soll die x-Position (links-rechts) der Orange größer werden. Das heißt, dass sie nach rechts wandert.
22+
23+
:::scratchblock{language="de"}
24+
Wenn Taste (Pfeil nach links v) gedrückt wird
25+
ändere x um (-10)
26+
:::
27+
28+
:::scratchblock{language="de"}
29+
Wenn Taste (Pfeil nach rechts v) gedrückt wird
30+
ändere x um (10)
31+
:::
32+
33+
34+
::::
35+
36+
::::tab{title="Touchscreen" id="touchscreen"}
37+
38+
Für die Steuerung mit dem Touchscreen brauchen wir zwei neue Figuren.
39+
40+
## Schritt 1: Figuren hinzufügen
41+
42+
### Linker Button
43+
44+
1. Klicke das Katzen-Symbol mit dem Plus in der unteren rechten an.
45+
2. Klicke die Lupe an.
46+
3. Füge die Figure Button1 hinzu
47+
4. Benenne die Figur um in: Links
48+
5. Verschiebe die Figur auf die linke Seite
49+
50+
### Rechter Button
51+
52+
1. Klicke das Katzen-Symbol mit dem Plus in der unteren rechten an.
53+
2. Klicke die Lupe an.
54+
3. Füge die Figure Button1 hinzu
55+
4. Benenne die Figur um in: Rechts
56+
5. Verschiebe die Figur auf die rechte Seite
57+
58+
## Schritt 2: Button programmieren
59+
60+
### Linker Button
61+
62+
1. Wähle die Figur Links aus.
63+
2. Ziehe das Ereignis `Wenn diese Figur angeklickt wird` in den Skriptbereich.
64+
3. Ziehe `sende (Nachricht1) an alle` in den Skriptbereich
65+
4. Verändere die Nachricht zu `Links gedrückt`.
66+
67+
:::scratchblock{language="de"}
68+
Wenn diese Figur angeklickt wird
69+
sende (Links gedrückt v) an alle
70+
:::
71+
72+
#### Rechter Button
73+
74+
1. Wähle die Figur Rechts aus.
75+
2. Ziehe das Ereignis `Wenn diese Figur angeklickt wird` in den Skriptbereich.
76+
3. Ziehe `sende (Nachricht1) an alle` in den Skriptbereich
77+
4. Verändere die Nachricht zu `Rechts gedrückt`.
78+
79+
:::scratchblock{language="de"}
80+
Wenn diese Figur angeklickt wird
81+
sende (Rechts gedrückt v) an alle
82+
:::
83+
84+
## Schritt 3: Schale programmieren
85+
86+
1. Wähle die Figur Bowl aus.
87+
2. Ziehe das Ereignis `Wenn ich (Nachricht) empfange in den Skriptbereich.
88+
3. Verändere die Nachricht aus `Links gedrückt`.
89+
4. Ziehe den Block `ändere x um -10` untere das Ereignis.
90+
5. Wiederhole die Schritte für die Nachricht `Rechts gedrückt`.
91+
92+
:::scratchblock{language="de"}
93+
Wenn ich (Links gedrückt v) empfange
94+
ändere x um (-10)
95+
:::
96+
97+
:::scratchblock{language="de"}
98+
Wenn ich (Rechts gedrückt v) empfange
99+
ändere x um (10)
100+
:::
101+
102+
::::
103+
104+
:::::
105+
106+
## Steuerung ausprobieren
107+
108+
Probiere aus den Korb zu steueren.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
name: Kollision erkennen
3+
index: 6
4+
lang: de
5+
---
6+
7+
# Kollision erkennen
8+
9+
Damit unser Spiel noch spannender wird, wollen wir erkennen, wenn die Orange in die Schale fällt und ein Klang abgespielt werden. Dazu müssen wir die Kollision zwischen der Orange und der Schale programmieren.
10+
11+
## Orange programmieren
12+
13+
Dafür müssen wir einen neuen Ereignis-Block der Orange hinzufügen.
14+
15+
1. Wähle die Figur Orange
16+
2. Ziehen einen `Wenn grüne Flagge angeklickt wird`-BLock in den Skriptbereich.
17+
18+
:::alert{info}
19+
Alle `Wenn grüne Flagge angeklickt wird`-Blöcke werden gleichzeitig ausgeführt.
20+
:::
21+
22+
3. Wir wollen nun fortlaufen überprüfen, ob die Orange die Figur `Bowl` berüht. Wenn dies der Fal ist, soll ein Klang abgespielt werden. Anschließend soll die Orange zurückgesetzt werden.
23+
24+
Du bist ja schon gut im Programmieren :smile:. Vielleicht schaffst du es die benötigten Blöcke richtig zusammenzusetzen. Wenn es dir nicht gelinkt, kannst du dir die Lösung anschauen und übernehmen.
25+
26+
:::::tabs{id="790004"}
27+
28+
::::tab{title="Benötigte Blöcke" id="348175"}
29+
30+
:::scratchblock{language="de"}
31+
Wenn die grüne Flagge angeklickt
32+
:::
33+
34+
:::scratchblock{language="de"}
35+
wiederhole fortlaufend
36+
:::
37+
38+
:::scratchblock{language="de"}
39+
falls <>, dann
40+
:::
41+
42+
:::scratchblock{language="de"}
43+
wird (Bowl v) berührt?
44+
:::
45+
46+
:::scratchblock{language="de"}
47+
gehe zu (Zufallsposition v)
48+
setze y auf (180)
49+
:::
50+
51+
:::scratchblock{language="de"}
52+
spiele Klang (Pop v)
53+
:::
54+
55+
::::
56+
57+
::::tab{title="Lösung" id="348179"}
58+
59+
:::scratchblock{language="de"}
60+
Wenn die grüne Flagge angeklickt
61+
wiederhole fortlaufend
62+
falls <wird (Bowl v) berührt?>, dann
63+
spiele Klang (Pop v)
64+
gehe zu (Zufallsposition v)
65+
setze y auf (180)
66+
:::
67+
68+
::::
69+
70+
:::::
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
name: Fangspiel mit Scratch programmieren
3+
keywords:
4+
- scratch
5+
lang: de
6+
prev:
7+
---
8+
9+
# Fangspiel mit Scratch programmieren
10+
11+
In diesem Projekt programmieren wir ein einfaches Fangspiel mit Scratch. Ziel des Spiels ist es, mit einer Schale möglichst viele Orangen zu fangen. Doch Vorsicht: Die verfaulten Orangen solltest du lieber nicht fangen, denn sie ziehen dir Punkte ab. Viel Spaß beim Programmieren!
12+
13+
## Vorwissen
14+
15+
Für dieses Projekt benötigst du keine Vorkenntnisse. Es ist für Anfänger:innen geeignet.

0 commit comments

Comments
 (0)