         return moved
 
     checkCanMove: (newX, newY, character) ->
-        if newX < 0 or newX >= @gameManager.config.visual.grid.gridX\
-          or newY < 0 or newY >= @gameManager.config.visual.grid.gridY
+        ###
+            Returns true if the character CAN'T move.
+        ###
+        if character != @protagonist and\
+          (newX < 0 or newX >= @gameManager.config.visual.grid.gridX\
+          or newY < 0 or newY >= @gameManager.config.visual.grid.gridY)
             # Player is out of bounds of grid.
-            if character == @protagonist
-                if newX < -1 or newX >= @gameManager.config.visual.grid.gridX + 1\
-                  or newY < -1 or newY >= @gameManager.config.visual.grid.gridY + 1
-                    @gameLost()
-                else
-                    return false
             return true
 
         if character.group?

                if character.trigger?
                    if character.trigger != "victory" or\
                        (character.trigger == "victory" and\
                            protagonistDoneMoving)
                        triggers[character.trigger]()
        if @protagonistDoneMoving and @protagonist.moving
            @visual.charAnimate @protagonist.index
            @protagonist.moving = false
        return

    start: ->

        return

    gameWon: =>
        if not @startedGame
            return
        clearInterval clockHandle
        playAudio 'victory.ogg'
        @stars += 1
        @score += 5
        @startedGame = false
        @gameManager.gameWon @score, @stars
        return

    gameLost: =>
        if not @startedGame
            return
        if clockHandle?
            clearInterval clockHandle
        for name, character of @gameConfig.characters
            if @visual.getState(character.index) != 5
                @visual.changeState character.index, 4
            character.moves = null
        @startedGame = false
        playAudio 'defeat.ogg'
        alert "Try again!"
        clockHandle = setInterval @clock, 17
        return
