def createGame(self, rows=9): l, s = Layout(self), self.s self.setSize(l.XM+11*l.XS, l.YM+4*l.YS+12*l.YOFFSET) x, y = l.XM, l.YM s.talon = WasteTalonStack(x, y, self, max_rounds=1) l.createText(s.talon, 's') x += l.XS s.waste = WasteStack(x, y, self) l.createText(s.waste, 's') y = l.YM for i in range(2): x = l.XM+2.5*l.XS for j in range(8): s.foundations.append( SS_FoundationStack(x, y, self, suit=j % 4, max_move=1)) x += l.XS y += l.YS x, y = l.XM, l.YM+2*l.YS stack = ReserveStack(x, y, self, max_cards=8) s.reserves.append(stack) stack.CARD_XOFFSET, stack.CARD_YOFFSET = 0, l.YOFFSET l.createText(stack, 'n') x, y = l.XM+2*l.XS, l.YM+2*l.YS for i in range(rows): s.rows.append(RK_RowStack(x, y, self, max_move=1, base_rank=KING)) x += l.XS l.defaultStackGroups()
def createGame(self, rows=5, playcards=16): l, s = Layout(self), self.s decks = self.gameinfo.decks max_rows = max(2+decks*4, 2+rows) w, h = l.XM+max_rows*l.XS, l.YM+l.YS+playcards*l.YOFFSET self.setSize(w, h) x, y = l.XM, l.YM s.talon = DealRowTalonStack(x, y, self) l.createText(s.talon, 'ne') x += (max_rows-decks*4)*l.XS for i in range(decks*4): s.foundations.append(Spider_SS_Foundation(x, y, self)) x += l.XS x, y = l.XM, l.YM+l.YS stack = ReserveStack(x, y, self, max_cards=UNLIMITED_CARDS) stack.CARD_XOFFSET, stack.CARD_YOFFSET = 0, l.YOFFSET s.reserves.append(stack) l.createText(stack, 'ne') x += 2*l.XS for i in range(rows): s.rows.append(Spider_RowStack(x, y, self)) x += l.XS l.defaultStackGroups()
def createGame(self, rows=8, reserves=6, playcards=12): # create layout l, s = Layout(self), self.s # set window decks = self.gameinfo.decks foundations = decks * 4 max_rows = max(foundations, rows) w, h = l.XM + (max_rows + 1) * l.XS, l.YM + 3 * l.YS + playcards * l.YOFFSET self.setSize(w, h) # create stacks x, y = l.XM + l.XS + (max_rows - foundations) * l.XS // 2, l.YM for fclass in self.Foundation_Classes: for i in range(4): s.foundations.append(fclass(x, y, self, suit=i)) x += l.XS x, y = l.XM + l.XS + (max_rows - rows) * l.XS // 2, l.YM + l.YS for i in range(rows): s.rows.append( self.RowStack_Class(x, y, self, max_move=1, max_accept=1)) x += l.XS self.setRegion(s.rows, (-999, y - l.CH // 2, 999999, h - l.YS - l.CH // 2)) d = (w - reserves * l.XS) // reserves x, y = l.XM, h - l.YS for i in range(reserves): stack = ReserveStack(x, y, self) stack.CARD_XOFFSET, stack.CARD_YOFFSET = 2, 0 s.reserves.append(stack) x += l.XS + d s.talon = self.Talon_Class(l.XM, l.YM, self) l.createText(s.talon, "s") # define stack-groups l.defaultStackGroups()
def createGame(self, rows=8, reserves=6, playcards=12): # create layout l, s = Layout(self), self.s # set window decks = self.gameinfo.decks foundations = decks*4 max_rows = max(foundations, rows) w, h = l.XM+(max_rows+1)*l.XS, l.YM+3*l.YS+playcards*l.YOFFSET self.setSize(w, h) # create stacks x, y = l.XM+l.XS+(max_rows-foundations)*l.XS//2, l.YM for fclass in self.Foundation_Classes: for i in range(4): s.foundations.append(fclass(x, y, self, suit=i)) x += l.XS x, y = l.XM+l.XS+(max_rows-rows)*l.XS//2, l.YM+l.YS for i in range(rows): s.rows.append(self.RowStack_Class(x, y, self, max_move=1, max_accept=1)) x += l.XS self.setRegion(s.rows, (-999, y-l.CH//2, 999999, h-l.YS-l.CH//2)) d = (w-reserves*l.XS)//reserves x, y = l.XM, h-l.YS for i in range(reserves): stack = ReserveStack(x, y, self) stack.CARD_XOFFSET, stack.CARD_YOFFSET = 2, 0 s.reserves.append(stack) x += l.XS+d s.talon = self.Talon_Class(l.XM, l.YM, self) l.createText(s.talon, "s") # define stack-groups l.defaultStackGroups()