# File: OthelloBotB.py
# Written By: Joseph Liu
# Date: 4/14/20
# This module implements an Othello bot, using a Minimax algorithm.

from Minimax import Minimax
import random
from time import time
class OthelloBotC:

    def __init__(self, team, board, discMultiplier, mobilityMultiplier, stabilityMultiplier):
        self.team = team
        #Minimax is basically a simulator
        self.minimax = Minimax(board, discMultiplier, mobilityMultiplier, stabilityMultiplier)
        self.board = board
        self.d = False
    
    def setDebug(self, d):
        #Debug flag (random move)
        self.d = d

    def setTeam(self, team):
        self.team = team

    def getTeam(self):
        return self.team
    
    def getMove(self):
        return self.getDebugMove()

    def getDebugMove(self):
        options = self.board.getMoves(self.team)
        #There's a chance that there are no valid moves
        if len(options) == 0:
            return (-1, -1)
        return options[random.randrange(len(options))]

89f9837e49a34b1c2a4b7b17e4d7c5de87c7f640
<mask token>


class OthelloBotC:

    def __init__(self, team, board, discMultiplier, mobilityMultiplier,
        stabilityMultiplier):
        self.team = team
        self.minimax = Minimax(board, discMultiplier, mobilityMultiplier,
            stabilityMultiplier)
        self.board = board
        self.d = False

    def setDebug(self, d):
        self.d = d

    def setTeam(self, team):
        self.team = team

    def getTeam(self):
        return self.team
    <mask token>
    <mask token>

<mask token>


class OthelloBotC:

    def __init__(self, team, board, discMultiplier, mobilityMultiplier,
        stabilityMultiplier):
        self.team = team
        self.minimax = Minimax(board, discMultiplier, mobilityMultiplier,
            stabilityMultiplier)
        self.board = board
        self.d = False

    def setDebug(self, d):
        self.d = d

    def setTeam(self, team):
        self.team = team

    def getTeam(self):
        return self.team
    <mask token>

    def getDebugMove(self):
        options = self.board.getMoves(self.team)
        if len(options) == 0:
            return -1, -1
        return options[random.randrange(len(options))]

<mask token>


class OthelloBotC:

    def __init__(self, team, board, discMultiplier, mobilityMultiplier,
        stabilityMultiplier):
        self.team = team
        self.minimax = Minimax(board, discMultiplier, mobilityMultiplier,
            stabilityMultiplier)
        self.board = board
        self.d = False

    def setDebug(self, d):
        self.d = d

    def setTeam(self, team):
        self.team = team

    def getTeam(self):
        return self.team

    def getMove(self):
        return self.getDebugMove()

    def getDebugMove(self):
        options = self.board.getMoves(self.team)
        if len(options) == 0:
            return -1, -1
        return options[random.randrange(len(options))]

from Minimax import Minimax
import random
from time import time


class OthelloBotC:

    def __init__(self, team, board, discMultiplier, mobilityMultiplier,
        stabilityMultiplier):
        self.team = team
        self.minimax = Minimax(board, discMultiplier, mobilityMultiplier,
            stabilityMultiplier)
        self.board = board
        self.d = False

    def setDebug(self, d):
        self.d = d

    def setTeam(self, team):
        self.team = team

    def getTeam(self):
        return self.team

    def getMove(self):
        return self.getDebugMove()

    def getDebugMove(self):
        options = self.board.getMoves(self.team)
        if len(options) == 0:
            return -1, -1
        return options[random.randrange(len(options))]

# File: OthelloBotB.py
# Written By: Joseph Liu
# Date: 4/14/20
# This module implements an Othello bot, using a Minimax algorithm.

from Minimax import Minimax
import random
from time import time
class OthelloBotC:

    def __init__(self, team, board, discMultiplier, mobilityMultiplier, stabilityMultiplier):
        self.team = team
        #Minimax is basically a simulator
        self.minimax = Minimax(board, discMultiplier, mobilityMultiplier, stabilityMultiplier)
        self.board = board
        self.d = False
    
    def setDebug(self, d):
        #Debug flag (random move)
        self.d = d

    def setTeam(self, team):
        self.team = team

    def getTeam(self):
        return self.team
    
    def getMove(self):
        return self.getDebugMove()

    def getDebugMove(self):
        options = self.board.getMoves(self.team)
        #There's a chance that there are no valid moves
        if len(options) == 0:
            return (-1, -1)
        return options[random.randrange(len(options))]
