         if newScore? then resp.send "#{user} has #{newScore} points."
 
         @currentQ = null
+        @hintLength = null
       else
         resp.send "#{guess} is incorrect."
     else
       resp.send "There is no active question!"
+
+  hint: (resp) ->
+    if @currentQ
+      # Check if the hintLength is greater than answerLength/2
+      if @hintLength > answer.length/2
+        resp.send "You have run out of hints for the active question" 
+        return
+
+      answer = @currentQ.validAnswer
+      hint = answer.substr(0,@hintLength) + answer.substr(@hintLength,(answer.length + @hintLength)).replace(/./g, ".")
+
+      if @hintLength <= answer.length
+        @hintLength += 1
+
+      resp.send hint
+    else
+      resp.send "There is no active question!"    
 
   checkScore: (resp, name) ->
     name = name.toLowerCase().trim()


class Game
  @currentQ = null

  constructor: (@robot, @scoreKeeper) ->
    buffer = Fs.readFileSync(Path.resolve('./res', 'questions.json'))


  robot.hear /!t (top|bottom)( \d+)?/i, (resp) ->
    amount = parseInt(resp.match[2])
    game.leaderBoard(resp, resp.match[1], amount)

  robot.hear /^!hint/i, (resp) ->
    game.hint(resp)
