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.
In this example, you are on an adjacent square to an enemy. Your action is to take a step forward. The moment you attempt to move, you take damage, after which (if you are alive) you move one square forward. That is, you need to assess the situation around you before making a move, first registering the damage you take, then making a move. I hope this is useful and helps someone in the future.
Yes, I agree that the description could have been better. But regarding attacking and taking damage afterwards, it's in the description (block 'Attack mechanics and enemies'):
It's quite another matter of tests. For example, I just checked that this behavior is not implemented in my solution and it still passes all tests. I don't remember the reasons why I didn't implement it, as I solved this problem quite a long time ago. I only register the damage from "Demon Lord". Accordingly, there is no test for the case given in the description, or there are tests, but in moments when the defense of my character in such moments does not allow to receive damage.
I agree with your last statement. This was very confusing to me too. That, and the fact "moving away" isn't even specified in the description. You need to guess what that means. Luckely, a user mentioned what is means in some other comment. But the description is just lacking quality in that respect.
As you pointed out the condition is that you need to be on an adjacent cell AND one of the three conditions must be fulfilled. Attacking the opponent is not part of any of these conditions.
If I am for example 2 cells away from an enemy and move towards him, I would be on an adjacent cell but since none of the three conditions is true I do not take damage from the enemy. This is what is implemented in the tests.
But suddenly when I attack the enemy, if I do not kill him, he is allowed to attack me despite the fact that this is not what the description of the kata says.
Also the condition "If you move away from them" is disturbing because this condition should never be true since the moment you move away from the enemy, you are not on an adjacent cell anymore.
The quote from the description you provided literally says that:
Three conditions - additional options for when you can be attacked by enemies, besides the case when you are on the cell adjacent to the enemy.
Accordingly, after you have attacked one enemy, all other enemies on neighboring squares (if the basic condition is met) attack you according to basic rule..
The problem states the following:
However, an enemy can attack you (whatever your orientation is), as long as you are on an adjacent cell to the enemy (vertically or horizontally, not diagonally) and if one of those conditions is fullfilled:
But the enemies can also attack you if you attacked this round which is not stated above, the statement should be updated to reflect that.
The tests should be changed and/or lessened, or the recursion tag should be removed from the question.
I timed out the first time I tried a recursive solution in python and the second time I got an error because I exceeded the maximum recursion depth (the money was over 5000 and there was a coin with value 1).