Ad
  • Default User Avatar

    Replaced string[]{} by List<string> throughout.

  • Default User Avatar

    It's a great idea, but I was able to solve it without really taking the walls into account (except in the sense that they block the path, as an enemy pawn does). Unless you can convince me that they really add something, I think it would be a stronger kata without the walls. To me they are a distraction, and not real chess.

  • Custom User Avatar

    Hi,

    • The test framework isn't used properly (decorators + describe vs it blocks. See the docs if needed)
    • The full test suite should start with fixed tests
    • Why the mixed types? wull strings would make much more sense, or at least, lists of strings.

    Cheers

  • Custom User Avatar

    In alot of cases this is true

    But there are some scenarios where having a wall instead of a pawn changes the outcome

  • Default User Avatar

    I haven't solved this yet - my question is based on the description. Are the walls necessary? If each wall was replaced by a black pawn, would the problem be basically the same?

  • Default User Avatar

    The validator compares the user solution with a valid solution, so it's not actually useful in the local environment. If you have a question about any particular test case, you can post it here and I will try to help.

  • Default User Avatar

    I miss QuicksortValidator class for execute test in local environment. Java Language.

  • Custom User Avatar

    What I have edited:

    1. changed the wording of the description to the above
    2. changed the parameter name to board
    3. added 2 example tests with descriptions

    I used chess.com to create the images of the board

  • Default User Avatar

    Great job! What did you use to create the images of the boards?

    Minor editing suggestions:

    Replace "b is ..." by "The board is ...."

    Replace ""W" representing the WhiteKing" by ""W" representing the white king".

    Replace ""0" representing a square with no pieces on it" by ""0" representing an empty square".

    Replace "if the black king is in checkmate return true and false otherwise."
    by "Return true if the black king is in checkmate and false otherwise."

    I recommend changing the parameter name in the Initial Solution from b to board. Encourage the use of descriptive variable names!

    It would be nice if the sample tests showed example of all the various cases: not check, check but king can escape, check but king can capture queen, & mate. Even better would be if the random tests were subdivided into those different types - this would help with debugging.

    There are related problems, like Check and Mate? and Is the King in check ?. But by simplifying the board I think you have added something.

  • Default User Avatar

    Hi ejini战神,

    You suggested something on Discord, but I can't remember what exactly it was. Did you want to change the return type to array instead of list?

    Regards,

    brodiemark

  • Custom User Avatar

    I should have studied math better in school 🥲

  • Default User Avatar

    Hi ejini战神,

    Do you have any more concerns about the translation?

    Regards,

    brodiemark

  • Custom User Avatar

    That depends though, in most static languages the return type would still be consistent - just optional/nullable. I believe this is actually the official idiomatic way to do it in Python as well, though I'm not digging through all the PEPs to find it.

    This is a language specific thing in general though, most functional languages will want to use optional typing (or even a partial function) since that's generally how their stdlibs are designed.

  • Default User Avatar

    I don't know. I like the style where, if the expected return value is a positive integer, then using a negative integer to indicate invalid input makes the return type consistent.

  • Custom User Avatar

    Your kata, up to you. Though 4k may very well not be able to stop naive solutions in faster languages.

    If I was changing something I would rather it was making return for invalid input None/undefined/null/nil/etc rather than -1.

  • Loading more items...