From fd4a63490e78dda122f7c14e33d0833e81da9b23 Mon Sep 17 00:00:00 2001
From: Xuan Trinh <xuan.trinh@student.unimelb.edu.au>
Date: Sat, 20 Mar 2021 21:18:25 +1100
Subject: [PATCH] temporary version of getting the position list {i will clean
 up the code }

---
 search/__pycache__/util.cpython-38.pyc | Bin 0 -> 7408 bytes
 search/method.py                       |  50 +++++++++++++++++++------
 2 files changed, 39 insertions(+), 11 deletions(-)
 create mode 100644 search/__pycache__/util.cpython-38.pyc

diff --git a/search/__pycache__/util.cpython-38.pyc b/search/__pycache__/util.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..358077ed01f7ac0cf1338c14ad240f11565c3341
GIT binary patch
literal 7408
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
M(XnuFaB*+}0L8%>%m4rY

literal 0
HcmV?d00001

diff --git a/search/method.py b/search/method.py
index 4b0a6c8..9180ec1 100644
--- a/search/method.py
+++ b/search/method.py
@@ -8,20 +8,29 @@ Read from JSON file:
     -> ensure format token to distinguish between upper and lower.
     -> handling file IO exception
 """
-def to_board(file):
+def to_position_list(file):
     TYPE = 0
-    X_COORD = 1
-    Y_COORD = 2
+    ROW = 1
+    COLUMN = 2
 
+    lower_s = 1
+    lower_r = 1
+    lower_p = 1
+    upper_s  =1
+    upper_r  =1
+    upper_p  =1
+    b = 1
+    ROCK = 'r'
+    PAPER = 'p'
     if not isinstance(file, str):
         print("Pass invalid argument to to_board()~!!!")
         exit(-1)
     try:
         # open the file handle by json module
-        FILE = open(file)
-        game = json.load(FILE)
+        initial = open(file)
+        game = json.load(initial)
 
-        board = {}
+        dict = {}
         # iterate through the entity who is not empty in order to add it type and coordinate to dictionary.
         for entity in game.keys():
 
@@ -29,18 +38,37 @@ def to_board(file):
 
                 for token in game[entity]:
                     if entity == 'upper':
-                        board[(int(token[X_COORD]), int(token[Y_COORD]))] = token[TYPE].upper()
+                        if token[TYPE] == ROCK:
+                            dict[token[TYPE].upper() + str(upper_r)] = (int(token[ROW]), int(token[COLUMN]))
+                            upper_r += 1
+                        if token[TYPE] == PAPER:
+                            dict[token[TYPE].upper() + str(upper_p)] = (int(token[ROW]), int(token[COLUMN]))
+                            upper_p += 1
+                        else:
+                            dict[token[TYPE].upper() + str(upper_s)] = (int(token[ROW]), int(token[COLUMN]))
+                            upper_s += 1
+                    elif entity == 'lower':
+                        if token[TYPE] == ROCK:
+                            dict[token[TYPE] + str(lower_r)] = (int(token[ROW]), int(token[COLUMN]))
+                            upper_r += 1
+                        if token[TYPE] == PAPER:
+                            dict[token[TYPE] + str(lower_p)] = (int(token[ROW]), int(token[COLUMN]))
+                            upper_p += 1
+                        else:
+                            dict[token[TYPE] + str(lower_s)] = (int(token[ROW]), int(token[COLUMN]))
+                            upper_s += 1
                     else:
-                        board[(int(token[X_COORD]), int(token[Y_COORD]))] = token[TYPE]
+                        dict[token[TYPE] + str(b)] = (int(token[ROW]), int(token[COLUMN]))
+                        b += 1
 
-        FILE.close()
-        return board
+        initial.close()
+        return dict
 
     except IOError:
         print("There is an issue when try to open file")
         exit(-1)
 
-
+print(to_position_list("C:\\Users\\Fizec\\comp30024-project-1\\Test_case\\level_4\\2.json"))
 """
 taken from https://www.redblobgames.com/grids/hexagons/
 under section: double coordinates for doublewidth
-- 
GitLab