Deja Brew - sing all lines but still failing

Your code’s right just maybe your computer’s freezing try going back to the map or reloading the page. if none of that works then say so.

1 Like

Because this is an instructional game designed to coach you through using concepts. That’s it. Nothing more, nothing less. When you become a professional programmer then you can do it your way and that’s fine. Everyone their own personal preferences on how to do it. Until then, you probably want to just accept the levels for what they are and follow instructions rather than fight with them over why.

1 Like

Lol! I try to reloading page and choose another map, then comeback! But Goal still incomplete :smile: I don’t know why but thanks you so much for your help :smile:

1 Like

@teekay7777 I don’t mind answering your questions, fire away.

1 Like

Don’t worry I won’t leave, @maka is the bug person, or you could send a screenshot maybe?

1 Like

I solve it! You need to code exactly the same - every words singing!
You can see right sing line when you run code. Try to fix your code exactly every words like original song line! Sorry my bad English! But hope you complete Deja Brew :smiley:

1 Like

Not sure to which of my questions you’re replying - I’m taking it to mean the numtoTakeDown one (question 2.).
I’m not fighting anything, but discussing how the levels would be optimally instructional. If such input is not wanted in the forums, I’ll not do that anymore.

In any case, the code that @Deadpool198 sent me produces exactly the same output as mine, but completes the level (mine doesn’t).

Answer to question 3:
Apparently, it wants a total of 4 say statements and wants the number 1 - not the string “one” in the output. It doesn’t make a difference if I use the numToTakeDown variable or not though.

Not 100% exactly . it seems not to care about the punctuation of the text. I wrote ! instead of . and nothing instead of ! , and it still worked.

The placement of potionsOnTheWall -= numToTakeDown is misleading.

Answer to question 1:
The German translation is wrong. It says “line” not “verse” in English.
Thanks guys for helping!

2 Likes

Please feel free to offer feedback if you think a level could be made more clearer, but there are a few things to remember:

  • As MunkeyShynes mentioned, the first goal of every level is to teach and test concepts.
  • We generally don’t block other possible solutions – sometimes you can find other ways to complete the level that are not our intended solution, but that’s ok – like coding in the real world, there are often multiple ways to create the same function.
  • You might create a solution that is technically correct but doesn’t meet the goal of our level. Either because we’re specifically looking for an exact answer (integers instead of string versions of numbers) or because it’s a concept beyond what we’re teaching/requiring for the specific level, or even because you thought of a solution we didn’t think of.

Remember that the goal is to teach specific concepts so that people learn to code (and that coding should be fun).

3 Likes

Thank you for this helpful answer!

Here’s my feedback:
That’s a sound way of designing the levels IMO, as long as it’s sufficiently explicit what exactly the requirements are. In this level, the instructions are: “sing along!”. Like OP, I feel that my code did just that, but it did not complete the level, so that’s why I think the instructions given are inconsistent with the level goal.

You might create a solution that is technically correct but doesn’t meet the goal of our level. Either because we’re specifically looking for an exact answer (integers instead of string versions of numbers)

In that case, I find it should be mentioned in the instructions/comment.
There are two accepted solutions here:

  1. hero.say("Take " + numToTakeDown + " down, pass it around!") #variable of integer type
  2. hero.say(" take 1 down, pass it around") #string

not accepted:

  1. hero.say(" take one down, pass it around") # also a string

Solution 2. should not be accepted if the goal is to combine integers and strings, because it doesn’t do that.

Helpful instructions/hints could be:
“Sing along by concatenating strings and integer variables.” or similar (the German instructions say “Sing along by concatenating strings”, so that could also be a translation error.
You could also say in the comments something like: “The text sung by the hero must match exactly what the conductor says.” - if you want that requirement from the level.
If the requirements include a certain number of statements, or the use of a specific function, that should also be mentioned.

2 Likes

Thanks for the well written feedback!

I’ll share it with the level designers (I agree, if we accept “1” instead of a variable, we should probably accept “one” as well.

Maka

3 Likes