本文整理汇总了Python中pysollib.stack.ReserveStack类的典型用法代码示例。如果您正苦于以下问题:Python ReserveStack类的具体用法?Python ReserveStack怎么用?Python ReserveStack使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ReserveStack类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: createGame
def createGame(self):
# create layout
l, s = Layout(self), self.s
# set window
self.setSize(l.XM+8*l.XS, l.YM+5*l.YS)
# create stacks
x, y = l.XM, l.YM
for i in range(8):
s.foundations.append(SS_FoundationStack(x, y, self,
suit=i//2, max_cards=10))
x += l.XS
y = l.YM+l.YS
for i in range(3):
x = l.XM
for j in range(8):
# stack = SS_RowStack(x, y, self, max_move=1)
stack = ReserveStack(x, y, self)
stack.CARD_YOFFSET = 0
s.rows.append(stack)
x += l.XS
y += l.YS
x, y = self.width-l.XS, self.height-l.YS
s.talon = DealRowTalonStack(x, y, self)
l.createText(s.talon, 'sw')
# define stack-groups
l.defaultStackGroups()
开发者ID:shlomif,项目名称:PySolFC,代码行数:32,代码来源:sultan.py
示例2: createGame
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()
开发者ID:shlomif,项目名称:PySolFC,代码行数:31,代码来源:beleagueredcastle.py
示例3: createGame
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()
开发者ID:jimsize,项目名称:PySolFC,代码行数:29,代码来源:spider.py
示例4: createGame
def createGame(self):
# create layout
l, s = Layout(self), self.s
# set window
self.setSize(l.XM+10.5*l.XS, l.YM+2*l.YS+20*l.YOFFSET)
# create stacks
x, y = l.XM, l.YM+l.YS//2
for i in (0, 1):
stack = ReserveStack(x, y, self, max_cards=4)
s.reserves.append(stack)
stack.CARD_YOFFSET = l.YOFFSET
l.createText(stack, 'n')
x += l.XS
x, y = l.XM+2.5*l.XS, l.YM
for i in range(8):
s.foundations.append(SS_FoundationStack(x, y, self, suit=i//2))
x += l.XS
x, y = l.XM+2.5*l.XS, l.YM+l.YS
for i in range(8):
s.rows.append(AC_RowStack(x, y, self))
x += l.XS
x, y = l.XM, self.height-l.YS
s.talon = InitialDealTalonStack(x, y, self)
# define stack-groups
l.defaultStackGroups()
开发者ID:shlomif,项目名称:PySolFC,代码行数:32,代码来源:freecell.py
示例5: createGame
def createGame(self, playcards=20, rows=8, reserves=1):
decks = self.gameinfo.decks
l, s = Layout(self), self.s
self.setSize(l.XM+(reserves+0.5+rows)*l.XS,
l.YM+max(2*l.YS+7*l.YOFFSET, l.YS+playcards*l.YOFFSET))
x, y = self.width-l.XS, self.height-l.YS
s.talon = InitialDealTalonStack(x, y, self)
x, y = l.XM, l.YM
for i in range(reserves):
stack = ReserveStack(x, y, self, max_cards=UNLIMITED_CARDS)
stack.CARD_YOFFSET = l.YOFFSET
s.reserves.append(stack)
x += l.XS
x, y = l.XM + (reserves+0.5+(rows-decks*4)/2.0)*l.XS, l.YM
for i in range(4):
s.foundations.append(RK_FoundationStack(x, y, self, suit=ANY_SUIT))
x += l.XS
x, y = l.XM+(reserves+0.5)*l.XS, l.YM+l.YS
for i in range(rows):
s.rows.append(BasicRowStack(x, y, self, base_rank=NO_RANK))
x += l.XS
l.defaultStackGroups()
开发者ID:shlomif,项目名称:PySolFC,代码行数:28,代码来源:numerica.py
示例6: prepareView
def prepareView(self):
ReserveStack.prepareView(self)
if not self.is_visible or self.game.preview > 1:
return
images = self.game.app.images
x, y = self.x + images.CARDW//2, self.y + images.CARDH//2
self.texts.misc = MfxCanvasText(
self.game.canvas, x, y,
anchor="center",
font=self.game.app.getFont("canvas_default"))
开发者ID:shlomif,项目名称:PySolFC,代码行数:10,代码来源:fan.py
示例7: acceptsCards
def acceptsCards(self, from_stack, cards):
if not ReserveStack.acceptsCards(self, from_stack, cards):
return False
if from_stack not in self.game.s.rows:
return False
if self.game.draw_done or not from_stack._canDrawCard():
return False
return True
开发者ID:shlomif,项目名称:PySolFC,代码行数:8,代码来源:fan.py
示例8: acceptsCards
def acceptsCards(self, from_stack, cards):
if not ReserveStack.acceptsCards(self, from_stack, cards):
return False
# must be neighbours
if not self.game.isNeighbour(from_stack, self):
return False
# must be able to move our card to the foundations or reserves
return self._getDropStack() is not None
开发者ID:jimsize,项目名称:PySolFC,代码行数:8,代码来源:montecarlo.py
示例9: createGame
def createGame(self):
l, s = Layout(self), self.s
self.setSize(l.XM+9*l.XS, l.YM+6*l.YS)
# vertical rows
x = l.XM+l.XS
for i in (0, 1):
y = l.YM+l.YS
for j in range(4):
stack = ReserveStack(x, y, self, base_suit=i)
stack.getBottomImage = stack._getSuitBottomImage
s.rows.append(stack)
y += l.YS
x += 6*l.XS
# horizontal rows
y = l.YM+l.YS
for i in (2, 3):
x = l.XM+2.5*l.XS
for j in range(4):
stack = ReserveStack(x, y, self, base_suit=i)
stack.getBottomImage = stack._getSuitBottomImage
s.rows.append(stack)
x += l.XS
y += 3*l.YS
# foundations
decks = self.gameinfo.decks
for k in range(decks):
suit = 0
for i, j in ((0, 3-decks*0.5+k),
(8, 3-decks*0.5+k),
(4.5-decks*0.5+k, 0),
(4.5-decks*0.5+k, 5)):
x, y = l.XM+i*l.XS, l.YM+j*l.YS
s.foundations.append(SS_FoundationStack(x, y, self,
suit=suit, max_move=0))
suit += 1
# talon & waste
x, y = l.XM+3.5*l.XS, l.YM+2.5*l.YS
s.talon = WasteTalonStack(x, y, self, max_rounds=2)
l.createText(s.talon, 's')
l.createRoundText(self.s.talon, 'nn')
x += l.XS
s.waste = WasteStack(x, y, self)
l.createText(s.waste, 's')
l.defaultStackGroups()
开发者ID:shlomif,项目名称:PySolFC,代码行数:46,代码来源:royalcotillion.py
示例10: canMoveCards
def canMoveCards(self, cards):
if not ReserveStack.canMoveCards(self, cards):
return False
if not self.game.s.waste.cards:
return False
c = self.game.s.waste.cards[-1]
return c.face_up and cards[0].suit == c.suit and \
cards[0].rank == c.rank
开发者ID:shlomif,项目名称:PySolFC,代码行数:8,代码来源:pasdedeux.py
示例11: canMoveCards
def canMoveCards(self, cards):
if not ReserveStack.canMoveCards(self, cards):
return False
rows = self.game.s.rows
index = list(self.game.s.reserves).index(self)
if rows[2*index].cards or rows[2*index+1].cards:
return False
return True
开发者ID:jimsize,项目名称:PySolFC,代码行数:8,代码来源:napoleon.py
示例12: acceptsCards
def acceptsCards(self, from_stack, cards):
if not ReserveStack.acceptsCards(self, from_stack, cards):
return False
c = cards[0]
if c.rank not in self.ACCEPTED_CARDS:
return False
for s in self.game.s.reserves:
if s.cards and s.cards[0].rank == c.rank:
return False
return True
开发者ID:voyageur,项目名称:PySolFC,代码行数:10,代码来源:pyramid.py
示例13: createGame
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()
开发者ID:jimsize,项目名称:PySolFC,代码行数:38,代码来源:algerian.py
示例14: acceptsCards
def acceptsCards(self, from_stack, cards):
if not ReserveStack.acceptsCards(self, from_stack, cards):
return False
return len(self.cards) == 0
开发者ID:shlomif,项目名称:PySolFC,代码行数:4,代码来源:freecell.py
示例15: acceptsCards
def acceptsCards(self, from_stack, cards):
return (ReserveStack.acceptsCards(self, from_stack, cards) and
self.game.s.talon.cards)
开发者ID:jimsize,项目名称:PySolFC,代码行数:3,代码来源:mughal.py
示例16: acceptsCards
def acceptsCards(self, from_stack, cards):
if not ReserveStack.acceptsCards(self, from_stack, cards):
return False
# this stack accepts one card from the Waste pile
return from_stack is self.game.s.waste
开发者ID:jimsize,项目名称:PySolFC,代码行数:5,代码来源:windmill.py
示例17: acceptsCards
def acceptsCards(self, from_stack, cards):
if not ReserveStack.acceptsCards(self, from_stack, cards):
return False
if from_stack in self.game.s.rows:
return False
return True
开发者ID:shlomif,项目名称:PySolFC,代码行数:6,代码来源:zodiac.py
示例18: acceptsCards
def acceptsCards(self, from_stack, cards):
if from_stack is self.game.s.braid or from_stack in self.game.s.rows:
return False
return ReserveStack.acceptsCards(self, from_stack, cards)
开发者ID:shlomif,项目名称:PySolFC,代码行数:4,代码来源:braid.py
示例19: clickHandler
def clickHandler(self, event):
if not self.cards:
self.game.s.talon.playMoveMove(1, self)
return 1
return ReserveStack.clickHandler(self, event)
开发者ID:jimsize,项目名称:PySolFC,代码行数:5,代码来源:poker.py
示例20: acceptsCards
def acceptsCards(self, from_stack, cards):
if not ReserveStack.acceptsCards(self, from_stack, cards):
return False
# must be neighbours
return self.game.isNeighbour(from_stack, self)
开发者ID:shlomif,项目名称:PySolFC,代码行数:5,代码来源:pasdedeux.py
注:本文中的pysollib.stack.ReserveStack类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论