def move(game_token, start, end): # aborts if an invalid move. otherwise returns new board state after the move. game = Game.query.get(game_token) if game: if not game.is_full: abort(400, "This game needs more players.") chess = Chess(game.board) for player in game.board['players']: if game.current_player != current_user: abort(400, "Not your turn cheater!") # valid game, check if valid move success = chess.move(start, end) if not success: abort( 400, "Moving from {} to {} is an invalid move.".format(start, end)) data = dict(token=game.id, board=chess.generate_fen()) response = jsonify(data) response.status_code = 200 return response else: abort(400, "The game does not exist.")
def move(game_token, start, end): # aborts if an invalid move. otherwise returns new board state after the move. game = Game.query.get(game_token) if game: if not game.is_full: abort(400, "This game needs more players.") chess = Chess(game.board) for player in game.board['players']: if game.current_player != current_user: abort(400, "Not your turn cheater!") # valid game, check if valid move success = chess.move(start, end) if not success: abort(400, "Moving from {} to {} is an invalid move.".format(start, end)) data = dict(token=game.id, board=chess.generate_fen()) response = jsonify(data) response.status_code = 200 return response else: abort(400, "The game does not exist.")