Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
Thanks. I solved it minutes after I had last posted.
See my issue above. You should not modify the input to pass tests.
From the description: "Your function can modify the initial board value as much as you like, but the test suite will validate what you return, so don't forget to return it".
But if you modify rows of the initial board then you will not pass tests. Tests call the user solution with a shallow copy of
board
.The one below. The onlyone that is still opened... ;)
edit: looking again at your input, I'm not sure this is the same thing. I didn't find the formatting of your message in the test suite. I'm not sure what's going on there, but, in any case : are you mutating the input?
Also check for the absence of global variables, because there are some in the tests utilities ( :rolleyes: ).Edit: I removed them all.Which issue is it below? There are so many. Your comment is not veyr helpful. :(
duplicated issue (see below)
The tests appear broken. This looks like it contradicts the instructions:
input:
[ 8, 8, 8, 8 ],
[ 2, 0, 8, 16 ],
[ 0, 0, 8, 8 ],
[ 0, 0, 4, 0 ]
Expected:
[32, 0, 0, 0]
[2, 8, 16, 0]
[16, 0, 0, 0]
[4, 0, 0, 0]
instead got:
[16, 16, 0, 0]
[2, 8, 16, 0]
[16, 0, 0, 0]
[4, 0, 0, 0]
"The result of a combination cannot match with another tile on the same move" - this is not what happens in the example above. It's the opposite here, a tile is moving onto a combined tile. This is not allowed, but nowhere in the description does it state this.
From description
The result of a combination cannot match with another tile on the same move. In other words, 2222 => collapses to ##44 and not ###8
Also description says
Your function can modify the initial board value as much as you like...
. Of course you can, but you won't pass the tests.It's not mentioned in the description that once two tiles are merged, no other tiles can be merged into that same tile within the same move. This only becomes apparent from test cases.
Good point about
Set
. I've prefixed the test constructor so there's no name conflict.I'll also consider changing 'falsy' to
null
andundefined
. Thanks for the feedback!Set
is a native class. You should not redefine it.User-defined classes ( ie, Constructor functions ) should, by convention, have names starting with a capital letter.
Expecting "falsy" for
null
,undefined
andNaN
but notfalse
,0
or""
feels inconsistent. Easiest fix for that is possibly a different name, though I have trouble coming up with one that would naturally not include any of the others. Maybe you should just go with JS itself and expect"null"
( not the historically correct bug that is"object"
! ),"undefined"
and"number"
.Good catch. Fixed.
Some typos:
I have added functions into the mix. My apologies if your solution became invalidated.
I won't add any additional requirements to the kata from now on. (I'll only fix issues, if any come up)
Loading more items...