From 592340da45ac0c4919ddb61b60bf61b4863866ec Mon Sep 17 00:00:00 2001
From: Francesco Bariatti <francesco.bariatti@insa-rennes.fr>
Date: Tue, 8 Mar 2016 09:50:57 +0100
Subject: [PATCH] Condensed all drawing in one python script

---
 tools/draw.py      | 21 -----------------
 tools/drawState.py | 57 ++++++++++++++++++++++++++++++++++++++++++++++
 tools/penguin.py   | 15 ------------
 3 files changed, 57 insertions(+), 36 deletions(-)
 delete mode 100755 tools/draw.py
 create mode 100755 tools/drawState.py
 delete mode 100755 tools/penguin.py

diff --git a/tools/draw.py b/tools/draw.py
deleted file mode 100755
index 6b99ba7..0000000
--- a/tools/draw.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python3
-#-*- encoding: utf-8 -*-
-try:
-	while True:
-		bitboard = int(input("Enter board : "))
-
-		output = [" "]
-
-		for i in range(59, -1, -1):
-			if((bitboard >> i) & 1 == 1):
-				output.append("|x")
-			else:
-				output.append("| ")
-			
-			if(i % 15 == 0):
-				output.append("|\n ")
-			elif(i % 15 == 8):
-				output.append("|\n")
-		print(''.join(output))
-except KeyboardInterrupt:
-	print("\nMay the fish be with you.")
diff --git a/tools/drawState.py b/tools/drawState.py
new file mode 100755
index 0000000..2f1c457
--- /dev/null
+++ b/tools/drawState.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python3
+#-*- encoding: utf-8 -*-
+import json
+
+def drawBitboard(onefish, twofish, threefish):
+	output = [" "]
+	for i in range(59, -1, -1):
+		if((onefish >> i) & 1) == 1:
+			output.append("|1")
+		elif ((twofish >> i) & 1) == 1:
+			output.append("|2")
+		elif ((threefish >> i) & 1) == 1:
+			output.append("|3")
+		else:
+			output.append("| ")
+		
+		if(i % 15 == 0):
+			output.append("|\n ")
+		elif(i % 15 == 8):
+			output.append("|\n")		
+			
+	print(''.join(output))
+
+def drawPenguin(penguin):
+	args = {
+		"pos": str(penguin & 63).rjust(2),
+		"A" : str((penguin >> 12) & 7),
+		"B" : str((penguin >> 15) & 7), 
+		"C" : str((penguin >> 18) & 7), 
+		"D" : str((penguin >> 21) & 7), 
+		"E" : str((penguin >> 24) & 7), 
+		"F" : str((penguin >> 27) & 7), 
+		"tot" : str((penguin >> 6) & 63).rjust(2)
+	}
+	print("Pos: {pos}, A:{A}, B:{B}, C:{C}, D:{D}, E:{E}, F:{F}, Tot: {tot}".format(**args))
+
+try:
+	while True:
+		read = []
+		print("Enter state:")
+		while True:
+			line = input()
+			if line == "":
+				break
+			read.append(line)
+			
+		state = json.loads(''.join(read))
+		drawBitboard(state["bitboards"]["onefish"],state["bitboards"]["twofish"],state["bitboards"]["threefish"])
+		print("Red penguins")
+		for i in range(4):
+			drawPenguin(state["penguins"]["red"][i])
+		print("Blue penguins")
+		for i in range(4):
+			drawPenguin(state["penguins"]["blue"][i])
+		
+except KeyboardInterrupt:
+	print("\nMay the fish be with you.")
diff --git a/tools/penguin.py b/tools/penguin.py
deleted file mode 100755
index 4a7dc5f..0000000
--- a/tools/penguin.py
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env python3
-#-*- encoding: utf-8 -*-
-import sys
-
-while True:
-	p = int(input("Enter penguin: "))
-
-	print("Position: ", p & 63)
-	print("Nb moves: ", (p >> 6) & 63)
-	print("Nb moves A: ", (p >> 12) & 7)
-	print("Nb moves B: ", (p >> 15) & 7)
-	print("Nb moves C: ", (p >> 18) & 7)
-	print("Nb moves D: ", (p >> 21) & 7)
-	print("Nb moves E: ", (p >> 24) & 7)
-	print("Nb moves F: ", (p >> 27) & 7)
-- 
GitLab