Feedback: Backwoods Bombardier


#1

The level fails if the self.say() command has a space after the comma, the artillery fires way more shells than necessary at each enemy, and the overview has all the code the player actually has to write; otherwise, this is a pretty awesome level!


Help on Back Woods Bobardier
#2
  • uses loop instead of while True in python
  • the expected usage of the say command is not obvious for beginners – many will try self.say(x, y)
  • the error message makes it even more confusing:
screenshot


#3

Ditto.

I like the level. It is very good in showing that pos.x and pos.y are number values, which a lot of my students struggle with but yeah… I tried self.say(x,y) instead of self.say(x + ',' + y)

Perhaps a better solution would be:

#say the x position here
self.say(x)
#say the y position here
self.say(y)

or putting in a custom error message to explain how to do it…


#4

Well… the level is awesome also it’s very easy. So maybe it will be reasonable to write some kind of example in the default code to avoid the mistake: say(x,y)

like this:
say("Cease"+ "Fire!")

or
say("Open"+ "Fire!") at the begining :innocent:


#5

@ant: loop is used in many later levels, so I don’t expect that to be a problem.


#6

@XAPOH Excellent idea. That, accompanied with a comment such as “Remember that you can concatenate strings this way:”, would be really helpful, IMHO.

@GundericusTheMighty I believe the loop construct is being phased out of CodeCombat in favor of while-true loops. Someone from the CoCo team may be able to confirm this. (/cc @nick)


#7

Thanks for the feedback! I’ve made the following changes:

  • artillery shouldn’t fire too many shots anymore
  • artillery should be okay with spaces in the hero’s message
  • custom error message if the player tries say(x,y)

#8

worked perfect (JS) :smiley:

[redacted, please don’t post solutions]


#11

I used
hero.say(x + “,” + y)
it worked great


#12

feedback for level:
I’ve seen other levels using a randomizer to shift enemies around. I think this level would really benefit from same.

I poked around on the github repo looking for the function? class? this is used for randomizing enemy locations on the levels… is there such a class/function?

thanks
Dennis