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)
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))