From ab82a735cd57dd20236135447b774643faf7e1c1 Mon Sep 17 00:00:00 2001 From: Philip Paquette Date: Tue, 5 Mar 2019 16:01:53 -0500 Subject: Refactored get_all_possible_orders for 2.5x speed improvement - Returning all locations at once - Removed 'loc' argument from method - Map has pre-computed attribute dest_with_coats --- diplomacy/utils/export.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'diplomacy/utils/export.py') diff --git a/diplomacy/utils/export.py b/diplomacy/utils/export.py index 459313d..3a03de1 100644 --- a/diplomacy/utils/export.py +++ b/diplomacy/utils/export.py @@ -118,13 +118,14 @@ def is_valid_saved_game(saved_game): # Validating orders orders = game.get_orders() + possible_orders = game.get_all_possible_orders() for power_name in orders: if sorted(orders[power_name]) != sorted(current_phase['orders'][power_name]): return False if 'NO_CHECK' not in game.rules: for order in orders[power_name]: loc = order.split()[1] - if order not in game.get_all_possible_orders(loc): + if order not in possible_orders[loc]: return False # Validating resulting state -- cgit v1.2.3