         else
             @visual.changeState character.index, 4
         return moved
-    
+
 
     checkCanMove: (newX, newY, character) ->
         ###

            character.moves.pop()
        character.moves.push {
            key: 'startMove',
            exec: (((char) ->
                success = @_move(char)
                return {success: success, continueExecution: false}
                ).bind @, character),
            line: line
        }
        for i in [1...steps] by 1
            @_moving(character)
        return

    _moving: (character) ->
        if not character?
            character = @protagonist

        character.moves.push {
            key: 'moving',
            exec: ((char) ->
                success = @_move(char)
                return {success: success, continueExecution: false}
                ).bind @, character
        }

    _move: (character) ->
        if not character?
            character = @protagonist

        # Top Left: 0,0
        moved = false


    go: (steps, line) =>
        steps = 1 if steps is undefined
        steps = parseInt steps.toString(), 10
        if line is undefined
            line = steps
            steps = 1
