From d4ab9faec46207673090e379a7f90d7153951f8e Mon Sep 17 00:00:00 2001 From: Tyler Date: Tue, 21 Jul 2020 12:24:28 -0400 Subject: [PATCH] Updated to allow Python 3 --- boardHelpers.py | 7 +++++-- game.py | 2 +- player.py | 9 +++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/boardHelpers.py b/boardHelpers.py index abb0383..4684838 100644 --- a/boardHelpers.py +++ b/boardHelpers.py @@ -1,5 +1,8 @@ from collections import defaultdict -import StringIO +try: + from StringIO import StringIO ## for Python 2 +except ImportError: + from io import StringIO ## for Python 3 def isInBounds(board, colIdx, rowIdx): @@ -96,7 +99,7 @@ def getInARowMetric(board, symbol, allowBlanks=False): def boardStr(board): numCols = len(board) numRows = len(board[0]) - sio = StringIO.StringIO() + sio = StringIO() for rowIdx in reversed(range(numRows)): for colIdx in range(numCols): symbol = board[colIdx][rowIdx] or '-' diff --git a/game.py b/game.py index ab2af30..ad43de1 100644 --- a/game.py +++ b/game.py @@ -59,7 +59,7 @@ def takeTurn(self, verbose=False, pause=False): if verbose: print(self) if pause: - raw_input() + input() class MoveOutOfRange(Exception): pass diff --git a/player.py b/player.py index ef9a3de..e480468 100644 --- a/player.py +++ b/player.py @@ -10,6 +10,11 @@ boardStr ) +try: + BIG_NUM = sys.maxint # Python 2 +except AttributeError: + BIG_NUM = sys.maxsize # Python 3 + class Player(object): def nextMove(self, board): @@ -20,7 +25,7 @@ def nextMove(self, board): moveChosen = False while not moveChosen: print(boardStr(board)) - colIdx = raw_input('Which column?\n') + colIdx = input('Which column?\n') try: colIdx = int(colIdx) except ValueError: @@ -83,7 +88,7 @@ def miniMax(symbol, vsSymbol, board, heuristic, maxDepth, currentDepth): else: colIdxOptions = getAvailableColumns(board) bestOptions = [] - bestValue = -sys.maxint + bestValue = -BIG_NUM for colIdx in colIdxOptions: newBoard = applyMoveToNewBoard(board, colIdx, symbol) newDepth = currentDepth + 1