35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
from direct.directnotify import DirectNotifyGlobal
|
|
from toontown.fishing import BingoGlobals
|
|
from toontown.fishing import BingoCardBase
|
|
|
|
class FourCornerBingo(BingoCardBase.BingoCardBase):
|
|
notify = DirectNotifyGlobal.directNotify.newCategory('FourCornerBingo')
|
|
corners = [0,
|
|
BingoGlobals.CARD_ROWS - 1,
|
|
BingoGlobals.CARD_COLS * (BingoGlobals.CARD_ROWS - 1),
|
|
BingoGlobals.CARD_COLS * BingoGlobals.CARD_ROWS - 1]
|
|
|
|
def __init__(self, cardSize = BingoGlobals.CARD_SIZE, rowSize = BingoGlobals.CARD_ROWS, colSize = BingoGlobals.CARD_COLS):
|
|
BingoCardBase.BingoCardBase.__init__(self, cardSize, rowSize, colSize)
|
|
self.gameType = BingoGlobals.FOURCORNER_CARD
|
|
|
|
def checkForWin(self, id):
|
|
corners = self.corners
|
|
if self.cellCheck(corners[0]) and self.cellCheck(corners[1]) and self.cellCheck(corners[2]) and self.cellCheck(corners[3]):
|
|
return BingoGlobals.WIN
|
|
return BingoGlobals.NO_UPDATE
|
|
|
|
def checkForColor(self, id):
|
|
topLeft, topRight, bottomLeft, bottomRight = (0, 0, 0, 0)
|
|
if id == self.corners[0]:
|
|
topLeft = 1
|
|
elif id == self.corners[1]:
|
|
topRight = 1
|
|
elif id == self.corners[2]:
|
|
bottomLeft = 1
|
|
elif id == self.corners[3]:
|
|
bottomRight = 1
|
|
return topLeft or topRight or bottomLeft or bottomRight
|
|
|
|
def checkForBingo(self):
|
|
return self.checkForWin(0)
|