本文整理汇总了Python中db.User.inGame方法的典型用法代码示例。如果您正苦于以下问题:Python User.inGame方法的具体用法?Python User.inGame怎么用?Python User.inGame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类db.User
的用法示例。
在下文中一共展示了User.inGame方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: act_aiJoin
# 需要导入模块: from db import User [as 别名]
# 或者: from db.User import inGame [as 别名]
def act_aiJoin(data):
game = dbi.getXbyY('Game', 'id', data['gameId'])
if game.state != GAME_WAITING:
raise BadFieldException('badGameState')
maxPlayersNum = game.map.playersNum
if len(game.players) >= maxPlayersNum:
raise BadFieldException('tooManyPlayers')
maxPriority = max(game.players, key=lambda x: x.priority).priority if len(game.players) else 0
aiCnt = len(filter(lambda x: x.isAI == True, game.players))
sid = getSid()
ai = User('AI%d' % sid, None, True)
ai.sid = sid
ai.gameId = game.id
ai.isReady = True
ai.priority = maxPriority + 1
ai.inGame = True
dbi.add(ai)
dbi.flush(ai)
game.aiRequiredNum -= 1
readyPlayersNum = dbi.query(User).filter(User.gameId == game.id).filter(User.isReady==True).count()
if maxPlayersNum == readyPlayersNum:
misc_game.startGame(game, ai, data)
return {'result': 'ok', 'sid' : ai.sid, 'id' : ai.id}