gameServer/HWProtoInRoomState.hs
changeset 8477 330b0b8846cf
parent 8433 3b318a130a62
child 8484 99c14f14f788
equal deleted inserted replaced
8476:61d7269f16be 8477:330b0b8846cf
   121 
   121 
   122 handleCmd_inRoom ["HH_NUM", teamName, numberStr] = do
   122 handleCmd_inRoom ["HH_NUM", teamName, numberStr] = do
   123     cl <- thisClient
   123     cl <- thisClient
   124     r <- thisRoom
   124     r <- thisRoom
   125     clChan <- thisClientChans
   125     clChan <- thisClientChans
   126     roomChans <- roomClientsChans
   126     others <- roomOthersChans
   127 
   127 
   128     let maybeTeam = findTeam r
   128     let maybeTeam = findTeam r
   129     let team = fromJust maybeTeam
   129     let team = fromJust maybeTeam
   130 
   130 
   131     return $
   131     return $
   135             []
   135             []
   136         else if hhNumber < 1 || hhNumber > 8 || hhNumber > canAddNumber r + hhnum team then
   136         else if hhNumber < 1 || hhNumber > 8 || hhNumber > canAddNumber r + hhnum team then
   137             [AnswerClients clChan ["HH_NUM", teamName, showB $ hhnum team]]
   137             [AnswerClients clChan ["HH_NUM", teamName, showB $ hhnum team]]
   138         else
   138         else
   139             [ModifyRoom $ modifyTeam team{hhnum = hhNumber},
   139             [ModifyRoom $ modifyTeam team{hhnum = hhNumber},
   140             AnswerClients roomChans ["HH_NUM", teamName, showB hhNumber]]
   140             AnswerClients others ["HH_NUM", teamName, showB hhNumber]]
   141     where
   141     where
   142         hhNumber = readInt_ numberStr
   142         hhNumber = readInt_ numberStr
   143         findTeam = find (\t -> teamName == teamname t) . teams
   143         findTeam = find (\t -> teamName == teamname t) . teams
   144         canAddNumber = (-) 48 . sum . map hhnum . teams
   144         canAddNumber = (-) 48 . sum . map hhnum . teams
   145 
   145