Loop da loop adventurer


#1

Is this for loop introductions? It seemed a little too easy… I just needed to copy the purple text to win. No thought required.

If the goal is to teach loop syntax would it better to have the starting code be this:

# To add code to a loop add 4 spaces in front it after writing loop.
# This code will endlessly move right because the other methods aren't in the loop.
# To win, add 4 spaces to the other methods to put them in the loop.
loop:
    self.moveRight()
self.moveUp()
self.moveLeft()
self.moveDown()

A lot of my students forget to maintain the spacing inside loops.


#2

Yes I have to agree, all you do is put what they say in comments. They say put moveup you put move up etc. 4 times. BUT it is only like the 8th level?


#3

Another thing I noticed is I got confused when I started with my moveXY boots. They should force you to put on simple boots.


#4
  • simple boots should be forced
  • the splash screen/intro says you need a while True loop (python), but the sample code has a loop instead
  • ban the ring of speed, otherwise you get killed
  • restrict to free heros (because faster ones get also killed – e.g. Pender)

Otherwise it’s a nice and simple level :smiley:

update: it can be done with speed ring and speedy heroes, using advanced boots – just go for the gems in this case!


#5

It is a good level for introducing loops.


#6

We try to avoid too much equipment forcing/restricting since we want users to be able to come back and try it with different gear.
It can be beaten with moveDirection, moveXY, or move().

We’ve changed the default code to have while loops instead (thanks for the heads up).

it can also be done with speed ring + speedy heroes if you get an item that allows you to wait. There are usually quite a few solutions to most levels.