From b400ec87ea5e0f0ebc1bf7b69440378cac652ca7 Mon Sep 17 00:00:00 2001
From: Xiaofei Wang <xiaofei@student.unimelb.edu.au>
Date: Wed, 11 Mar 2020 21:01:04 +1100
Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=B0=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 AZUL/state_monitor.py | 84 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)
 create mode 100644 AZUL/state_monitor.py

diff --git a/AZUL/state_monitor.py b/AZUL/state_monitor.py
new file mode 100644
index 0000000..2f98b65
--- /dev/null
+++ b/AZUL/state_monitor.py
@@ -0,0 +1,84 @@
+from collections import deque, defaultdict
+
+states = deque(maxlen=1)
+search_time = deque(maxlen=1)
+
+
+def set_state(state):
+    states.append(state)
+
+
+def get_state():
+    return states[0]
+
+
+# def set_time(time):
+#     search_time.append(time)
+#
+# def get_time():
+#     return search_time[0]
+times = defaultdict(float)
+
+
+def set_search_time(name, time):
+    times[name] += time
+
+
+def get_search_time():
+    return times
+
+
+speical_actions = defaultdict(int)
+
+
+def increase_actions(name):
+    speical_actions[name] += 1
+
+
+def get_special_action():
+    action_tuple = sorted(speical_actions.items(), key=lambda x:x[1], reverse=True)
+    return action_tuple
+
+
+round_recorder = []
+
+
+def set_round_recorder(scores):
+    if len(round_recorder) == 0 or len(round_recorder[-1]) == 6:
+        if len(round_recorder) % 2 == 1:
+            round_recorder.append([[scores[1], scores[0]]])
+        else:
+            round_recorder.append([scores])
+    else:
+        if len(round_recorder) % 2 == 0:
+            round_recorder[-1].append([scores[1], scores[0]])
+        else:
+            round_recorder[-1].append(scores)
+
+
+def get_round_recorder():
+    string = ''
+    for i in range(len(round_recorder)):
+        for scrs in round_recorder[i]:
+            string += '[{:>5},{:>5}]'.format(str(scrs[0]), str(scrs[1]))
+        string += '\n'
+        if i % 2 == 1:
+            string += '\n'
+    return string
+
+
+predict_recorder = {}
+
+
+def set_pre_r(name, pre_score_list):
+    if predict_recorder.get(name) is None:
+        predict_recorder[name] = [pre_score_list]
+    else:
+        predict_recorder[name].append(pre_score_list)
+
+
+def get_pre_r():
+    string = ''
+    for n, l in predict_recorder.items():
+        string += (n + str(l) + '\n')
+    return string
-- 
GitLab