Feedback: Backwoods Bombardier

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!

1 Like
  • 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

1 Like

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…

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:

2 Likes

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

2 Likes

@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)

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)
1 Like

worked perfect (JS) :smiley:

[redacted, please don’t post solutions]

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

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