i

Challenge Digitaler Eierlauf

Deine Herausforderung: Laufe, ohne zu wackeln

Logo Eierlauf

Wie gut kannst du laufen, ohne dabei zu wackeln?

Challenge Digitaler Eierlauf
Macht einen Wettlauf: Versucht, eine vereinbarte Strecke schnell genug zu laufen, den Calliope vor euch zu halten und dabei aber möglichst wenig zu wackeln.

Aufgabe: Unterprogramm für Eierlauf

Screenshot Drehung

Erstelle für Calliope ein Unterprogramm, das nach einem Countdown die Drehungen um die x- und die y-Achse so lange aufsummiert, bis die Tasten "A+B" geklickt wurden und die Summe aller Drehungen ausgibt.
Je größer die Summe aller Drehungen ist, desto "wackeliger" war der Lauf.

Hilfekärtchen

Calliope mit eingezeichneten Achsen

Wenn du deinen Calliope ganz flach auf den Tisch legst, dann ist er weder um die x-Achse noch um die y-Achse gedreht.
Wenn du deinen Calliope nun nach rechts um die y-Achse drehst ("rollen"), dann wird entsprechende positive Drehwinkel erzeugt. Wenn du ihn nach links rollst, ist der Drehwinkel negativ.
Wenn du deinen Calliope zu dir neigst (ihn also um die x-Achse zu dir drehst ("nicken")), dann wird ein entsprechender positiver Drehwinkel erzeugt, wenn du ihn von dir weg drehst, ist er negativ.


Du benötigst eine neue Variable (z.B. "summeZittern"), die du zu Beginn auf 0 setzt (das nennt man "initialisieren"). Nun muss dauerhaft die aktuelle Drehung um die beiden Achsen zu dieser Variablen addiert werden. Dabei dürfen wir aber keine negativen Drehwinkel verwenden - deshalb benötigen wir von dem Drehwinkel den Betrag (in Makecode heißt das "absolute Werte").

Die Initialisierung zu Beginn:

Screenshot Summe Zittern Initialisieren

Die Erhöhung der Variable um den Drehwert:
(Die entsprechende Anweisung für die Drehung um die y-Achse muss dann ebenfalls noch in die Schleife.)

Screenshot Summe Zittern Ändern

Pausiere in der Schleife noch eine gewisse Zeit (z.B. 100ms), damit der Wert für die Variable nicht zu groß wird.


Das letzte Hilfekärtchen gibt es in 60 Sekunden...

Funktion eierlauf:
	starte einen 3-Sekunden-Countdown
	initialisiere die Variable summeZittern mit 0
	während nicht Knopf "A+B" geklickt ist:
		ändere summeZittern um den absoluten Wert der Drehung um die x-Achse
		ändere summeZittern um den absoluten Wert der Drehung um die y-Achse
		pausiere für 100ms
	zeige den Wert von summeZittern an

Codeschnipsel 00 Codeschnipsel 01 Codeschnipsel 09 Codeschnipsel 06 Codeschnipsel 05 Codeschnipsel 03 Codeschnipsel 02 Codeschnipsel 04 Codeschnipsel 07 Codeschnipsel 08

Suche

v
14.10.2.3
www.inf-schule.de/projekte/challenges_mit_calliope/challenges/eierlauf
www.inf-schule.de/14.10.2.3
www.inf-schule.de/@/page/0iLTc3ZcSBNhqyLk

Rückmeldung geben