def reposition_ruler_war(request, game_id, player_no, cell_no, ruler, num_committed): cell_no = int(cell_no) g = Game.objects.get(id=int(game_id)) board = StandardBoard(g, 1) build_board_data(board) p = g.__getattribute__("player_" + player_no) _, war_repositions = _get_reposition_info(board, player_no, ruler) if cell_no in [x for x, _, _ in war_repositions] and int(player_no) == g.current_turn: board.remove_ruler(board.get_cell_no_for_player_no_and_ruler(player_no, ruler[0])) else: False g.save() board.save() return internal_attack(request, game_id, player_no, cell_no, ruler, num_committed)
def reposition_ruler(request, game_id, player_no, ruler, cell): cell = int(cell) g = Game.objects.get(id=int(game_id)) board = StandardBoard(g, 1) build_board_data(board) p = g.__getattribute__("player_" + player_no) safe_repositions, _ = _get_reposition_info(board, player_no, ruler) if cell in safe_repositions and int(player_no) == g.current_turn: board.remove_ruler(board.get_cell_no_for_player_no_and_ruler(player_no, ruler[0])) else: return False g.save() board.save() return drop_ruler(request, game_id, player_no, ruler, cell)
def remove_ruler(request, game_id, player_no, ruler): g = Game.objects.get(id=int(game_id)) board = StandardBoard(g, 1) build_board_data(board) p = g.__getattribute__("player_" + player_no) if board.is_ruler_placed("ruler-" + ruler, player_no) and int(player_no) == g.current_turn: board.remove_ruler(board.get_cell_no_for_player_no_and_ruler(player_no, ruler[0])) g.increment_action() else: return False g.save() board.save() update_browsers(game_id) return game_state_json(request, game_id, player_no)