         return true
     return true
 
-
+  # Used on each allocation turn to check player if valid and check allocation move is valid.
   checkValidAllocationMove: (index, clientId) ->
     if @challengeMode # prevents moves from taking place during challenge mode
       ErrorManager.throw(ErrorManager.codes.moveDuringChallenge, {}, "Can't move during challenge mode")



  
  constructor: (@gameNumber, @name, gameSize, numRounds, throwErrors = true) ->
    # Initalise all variables so that they're object (not prototype) specfific
    
    @playerManager = new PlayerManager()
    
    @throwErrors = throwErrors
    @goalTree = undefined
    @goalArray = []
    @goalValue = undefined

    else
      playerid = @playerManager.getPlayerIdBySocket(socketId)
      ErrorManager.throw(ErrorManager.codes.possibleSubmitSolution, {}, "Client not in 'possible' list")
    # If everyone has submitted their solutions, it's the end of round. Add up the scores for the round.
    if(@allSolutionsSent()) then @scoreAdder()

  # returns true if all players that believe a solution is possible have sent their solution
