We have started a new year, and we want to make some solid headway. As we promised, one of our New Year’s resolutions is trying to innovate and make this blog more social. For this reason, let us introduce you the first Scalera challenge, just for driving you crazy 🙂
From Earth to the Moon
The ESA (European Space Agency) wants to send two robots (rovers) to the Moon. They are fitted with a sophisticated landing support: a parachute. The problem here is that it seems both robots won’t land at the same place…
Once they’ve landed at the same place as their own parachutes at the Moon, which has a discrete surface of infinite size, both rovers must find each other to start the mission together.
The challenge consists on programming the rovers using a limited command set, so they finally manage to find each other. Keep in mind that the same program will be loaded on both robots and they don’t have any programatic way to know which their identifiers are.
DSL for manouver
The command set that will be used for programming the rovers is composed of:
- MOVE <direction> : It moves the rover a discrete space unit to the left or to the right.
- IF FOUND PARACHUTE <command> : If the rover finds a parachute on the floor, at its
feetwheels, then execute the given command.
- NOP: Rover does nothing…
- GOTO <lineId> : It jumps to the command placed at the given line.
You can find the project for start coding your robots at github.
You’ll find all the technical info you might need at the README.md file.
If you want to participate, just drop us an email to scalerablog at gmail dot com with the Launch.scala file that contains the program you have designed to solve the problem. Don’t forget to include your twitter user name for mentioning you at our virtual hall of fame 😛
The deadline will be two natural weeks from this post publication.
Among all best solutions (less clock ticks, less program lines,…) we’ll raffle the blog t-shirt 🙂
Come on and good luck!
How many things have been denied one day, only to become realities the next!