class CheckersBoard: def __init__(self): self.squareList = [] for x in xrange(32): self.squareList.append(CheckersTile(x)) self.squareList[0].setAdjacent([None, None, 4, None]) self.squareList[1].setAdjacent([None, 4, 5, None]) self.squareList[2].setAdjacent([None, 5, 6, None]) self.squareList[3].setAdjacent([None, 6, 7, None]) self.squareList[4].setAdjacent([0, 8, 9, 1]) self.squareList[5].setAdjacent([1, 9, 10, 2]) self.squareList[6].setAdjacent([2, 10, 11, 3]) self.squareList[7].setAdjacent([3, 11, None, None]) self.squareList[8].setAdjacent([None, None, 12, 4]) self.squareList[9].setAdjacent([4, 12, 13, 5]) self.squareList[10].setAdjacent([5, 13, 14, 6]) self.squareList[11].setAdjacent([6, 14, 15, 7]) self.squareList[12].setAdjacent([8, 16, 17, 9]) self.squareList[13].setAdjacent([9, 17, 18, 10]) self.squareList[14].setAdjacent([10, 18, 19, 11]) self.squareList[15].setAdjacent([11, 19, None, None]) self.squareList[16].setAdjacent([None, None, 20, 12]) self.squareList[17].setAdjacent([12, 20, 21, 13]) self.squareList[18].setAdjacent([13, 21, 22, 14]) self.squareList[19].setAdjacent([14, 22, 23, 15]) self.squareList[20].setAdjacent([16, 24, 25, 17]) self.squareList[21].setAdjacent([17, 25, 26, 18]) self.squareList[22].setAdjacent([18, 26, 27, 19]) self.squareList[23].setAdjacent([19, 27, None, None]) self.squareList[24].setAdjacent([None, None, 28, 20]) self.squareList[25].setAdjacent([20, 28, 29, 21]) self.squareList[26].setAdjacent([21, 29, 30, 22]) self.squareList[27].setAdjacent([22, 30, 31, 23]) self.squareList[28].setAdjacent([24, None, None, 25]) self.squareList[29].setAdjacent([25, None, None, 26]) self.squareList[30].setAdjacent([26, None, None, 27]) self.squareList[31].setAdjacent([27, None, None, None]) self.squareList[0].setJumps([None, None, 9, None]) self.squareList[1].setJumps([None, 8, 10, None]) self.squareList[2].setJumps([None, 9, 11, None]) self.squareList[3].setJumps([None, 10, None, None]) self.squareList[4].setJumps([None, None, 13, None]) self.squareList[5].setJumps([None, 12, 14, None]) self.squareList[6].setJumps([None, 13, 15, None]) self.squareList[7].setJumps([None, 14, None, None]) self.squareList[8].setJumps([None, None, 17, 1]) self.squareList[9].setJumps([0, 16, 18, 2]) self.squareList[10].setJumps([1, 17, 19, 3]) self.squareList[11].setJumps([2, 18, None, None]) self.squareList[12].setJumps([None, None, 21, 5]) self.squareList[13].setJumps([4, 20, 22, 6]) self.squareList[14].setJumps([5, 21, 23, 7]) self.squareList[15].setJumps([6, 22, None, None]) self.squareList[16].setJumps([None, None, 25, 9]) self.squareList[17].setJumps([8, 24, 26, 10]) self.squareList[18].setJumps([9, 25, 27, 11]) self.squareList[19].setJumps([10, 26, None, None]) self.squareList[20].setJumps([None, None, 29, 13]) self.squareList[21].setJumps([12, 28, 30, 14]) self.squareList[22].setJumps([13, 29, 31, 15]) self.squareList[23].setJumps([14, 30, None, None]) self.squareList[24].setJumps([None, None, None, 17]) self.squareList[25].setJumps([16, None, None, 18]) self.squareList[26].setJumps([17, None, None, 19]) self.squareList[27].setJumps([18, None, None, None]) self.squareList[28].setJumps([None, None, None, 21]) self.squareList[29].setJumps([20, None, None, 22]) self.squareList[30].setJumps([21, None, None, 23]) self.squareList[31].setJumps([22, None, None, None]) return def delete(self): for x in self.squareList: x.delete() del self.squareList def getSquare(self, arrayLoc): return self.squareList[arrayLoc] def getState(self, squareNum): return self.squareList[squareNum].getState() def setState(self, squareNum, newState): self.squareList[squareNum].setState(newState) def getAdjacent(self, squareNum): return self.squareList[squareNum].adjacent def getStates(self): retList = [] for x in xrange(32): retList.append(self.squareList[x].getState()) return retList def setStates(self, squares): y = 0 for x in xrange(32): self.squareList[x].setState(squares[x]) def getJumps(self, squareNum): return self.squareList[squareNum].jumps class CheckersTile: def __init__(self, tileNum): self.tileNum = tileNum self.state = 0 self.adjacent = [] self.jumps = [] def delete(self): del self.tileNum del self.state del self.adjacent def setJumps(self, jumpList): for x in jumpList: self.jumps.append(x) def getJumps(self): return self.jumps def setAdjacent(self, adjList): for x in adjList: self.adjacent.append(x) def getAdjacent(self): return self.adjacent def setState(self, newState): self.state = newState def getState(self): return self.state def getNum(self): return self.tileNum