示例#1
0
 def post(self,gpath):
     pl = getCurrentUser(self.request.get("playerID"))
     gmNum=self.request.get('gameID')
     gm=GAMES[gpath].get_by_key_name(gmNum)
     if not gm:
         self.response.out.write("error, game not found")
         return None
     if not gm.state&STARTED:crash
     try:
         gm.move(pl,self.request.get('pos'))
     except InvalidInput as e:
         self.response.out.write(e.msg)
         return None
     
     dat=sjd(gm.getData())
     gm.tellPlayers(dat)
     self.response.out.write(dat)
示例#2
0
 def get(self,gpath):
     gmNum=self.request.get("gameID")
     gm=Game.get_by_key_name(gmNum)
     
     if not gm:
         self.response.out.write("no")
         return None
     pl = getCurrentUser(self.request.get("playerID"))
     check(pl,gm.player0,"information restricted")
     message={"gameID":gmNum}
     if gm.state&STARTED:
         message.update({"request":"goto","target":gm.url(0)})
     elif  gm.timeCreated<datetime.now()-timedelta(seconds=OFFLINE):
         self.response.out.write("no")
         db.delete(gm)
     else: message.update({"request":"wait"})
     self.response.out.write(sjd(message))