   onMouseMove: (x, y) ->
     @_mouseX = x
     @_mouseY = y
+
+    ix = @x2index @_mouseX
+    iy = @y2index @_mouseY
+
+    unless @_lastIX is ix and @_lastIY is iy
+      @_mouseAlpha = 1.0
+
+    @_lastIX = ix
+    @_lastIY = iy
 
     return  # void
 

        ix = @x2index @_mouseX
        iy = @y2index @_mouseY

        unless @_board[iy][ix]?
          x = MARGIN_LEFT + BLOCK_SIZE + (ix * BLOCK_SIZE)
          y = MARGIN_TOP + BLOCK_SIZE + (iy * BLOCK_SIZE)

          c.fillStyle = '#CCC'
          c.fillRect x + 1, y + 1, BLOCK_SIZE - 2, BLOCK_SIZE - 2

      # Draw count-down

    return unless @_state is STATE_GAME

    @_countDown -= dt

    @_mouseAlpha = Math.max 0, @_mouseAlpha - (MOUSE_ALPHA_VELOCITY * dt)

    if 0 >= @_countDown
      @setState STATE_END
