Mitnehmen und wegschieben#
(Ev3 Auf und ab ⭐)
Bau einen Arm für den Roboter
(Ev3 Würfel fangen ⭐⭐)
Bau einen Würfel aus Legosteinen, und leg ihn auf den Boden.
Der Roboter fährt bis zum Würfel, senkt seinen Arm, und schleppt den Würfel zurück zum Ausgangspunkt.
(Ev3 Würfel schieben ⭐⭐)
Bau einen Würfel aus Legosteinen und leg ihn auf den Boden.
Der Roboter fährt zum Würfel, und schiebt ihn vorsichtig weiter.
Fortgeschritten
Der Roboter schiebt den Würfel bis zur Wand.
(Ev3 Um die Ecke schieben ⭐⭐⭐)
Bau einen Würfel aus Legosteinen und leg ihn auf den Boden
Der Roboter bewegt sich zum Würfel hin, und schiebt ihn zuerst nach vorne, dann nach rechts.
(Ev3 Sokoban ⭐⭐⭐⭐⭐)
Kennst du das Spiel Sokoban? Du kannst hier mehr darüber lesen: de.wikipedia.org/wiki/Sokoban
Markier auf dem Boden ein Spielfeld, und schreib ein Programm, um dieses Spielfeld löst. Du kannst Legoblöcke oder andere Dinge als Kisten verwenden.
Aufbau:
im Spielfeld sind Blöcke (Kisten) verteilt.
im Spielfeld sind Orte gekennzeichnet, an denen die Kisten am Ende stehen sollen.
der Roboter hat vorne eine Vorrichtung (ein Stab o.ä.), mit der er die Blöcke schiebt.
Ziel:
Alle Kisten stehen am Ende an den markierten Stellen
Die Regeln:
Du kannst die Gegenstände nur schieben, nicht ziehen.
Du kannst die Gegenstände nur mit der dafür vorgesehenen Vorrichtung verschieben.
Du kannst dich nur in rechten Winkeln bewegen, nicht schräg.
Du kannst nur einen Gegenstand auf einmal schieben.
Tipps
Achte auf genügend Platz rund um die Kisten, damit der Roboter manövrieren kann.
Markier nicht nur die Punkte, auf denen die Kisten am Ende stehen sollen, sondern auch die Anfangspunkte. So kannst du leicht den Anfangszustand wieder herstellen. Du kannst dafür das farbige Klebeband verwenden.
Geh iterativ vor. D.h. du beginnst mit einem sehr einfachen Spielfeld (die Aufgaben oben sind ein guter Anfangspunkt), und löse dieses. Dann machst du es ein bisschen schwieriger, und versuchst das zu lösen. So kannst du nach und nach ein komplexes Spielfeld aufbauen.
Bisher hat niemand einen einfachen Algorithmus gefunden, der jedes beliebige Spielfeld lösen kann. Vielleicht findest du einen?