mirror of
https://github.com/shlomif/PySolFC.git
synced 2025-04-05 00:02:29 -04:00
* bugfixes
git-svn-id: file:///home/shlomif/Backup/svn-dumps/PySolFC/svnsync-repos/pysolfc/PySolFC/trunk@180 efabe8c0-fbe8-4139-b769-b5e6d273206e
This commit is contained in:
parent
6c30899fd9
commit
adcf65dca4
10 changed files with 39 additions and 15 deletions
|
@ -966,6 +966,8 @@ class Application:
|
||||||
# try Klondike if current game fails
|
# try Klondike if current game fails
|
||||||
if id == 2:
|
if id == 2:
|
||||||
raise # internal error?
|
raise # internal error?
|
||||||
|
if DEBUG:
|
||||||
|
raise
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
self.nextgame.id = 2
|
self.nextgame.id = 2
|
||||||
self.freeGame()
|
self.freeGame()
|
||||||
|
|
|
@ -142,7 +142,7 @@ class CustomGame(Game):
|
||||||
else:
|
else:
|
||||||
layout_kw['reserve_class'] = StackWrapper(OpenStack, **kw)
|
layout_kw['reserve_class'] = StackWrapper(OpenStack, **kw)
|
||||||
if s['talon'] is DealReserveRedealTalonStack or \
|
if s['talon'] is DealReserveRedealTalonStack or \
|
||||||
s['reserves_max_accept'] > 1:
|
s['reserves_max_accept'] > 1 or s['deal_to_reserves'] > 1:
|
||||||
layout_kw['reserve_texts'] = True
|
layout_kw['reserve_texts'] = True
|
||||||
|
|
||||||
# waste
|
# waste
|
||||||
|
|
|
@ -1444,7 +1444,7 @@ class Game:
|
||||||
return self.app.images.getFace(deck, suit, rank)
|
return self.app.images.getFace(deck, suit, rank)
|
||||||
|
|
||||||
def getCardBackImage(self, deck, suit, rank):
|
def getCardBackImage(self, deck, suit, rank):
|
||||||
return self.app.images.getBack(deck, suit, rank)
|
return self.app.images.getBack()
|
||||||
|
|
||||||
def getCardShadeImage(self):
|
def getCardShadeImage(self):
|
||||||
return self.app.images.getShade()
|
return self.app.images.getShade()
|
||||||
|
@ -2276,11 +2276,15 @@ for %d moves.
|
||||||
status = 2
|
status = 2
|
||||||
elif player_moves == 0:
|
elif player_moves == 0:
|
||||||
self.playSample("autopilotwon", priority=1000)
|
self.playSample("autopilotwon", priority=1000)
|
||||||
s = self.app.miscrandom.choice((_("&Great"), _("&Cool"), _("&Yeah"), _("&Wow"))) # ??? accelerators
|
s = self.app.miscrandom.choice((_("&Great"), _("&Cool"),
|
||||||
|
_("&Yeah"), _("&Wow")))
|
||||||
d = MfxMessageDialog(self.top, title=PACKAGE+_(" Autopilot"),
|
d = MfxMessageDialog(self.top, title=PACKAGE+_(" Autopilot"),
|
||||||
text=_("\nGame solved in %d moves.\n") % self.moves.index,
|
text=_("\nGame solved in %d moves.\n") %
|
||||||
image=self.app.gimages.logos[4], strings=(s,),
|
self.moves.index,
|
||||||
separatorwidth=2, timeout=timeout)
|
image=self.app.gimages.logos[4],
|
||||||
|
strings=(s,),
|
||||||
|
separator=True,
|
||||||
|
timeout=timeout)
|
||||||
status = d.status
|
status = d.status
|
||||||
else:
|
else:
|
||||||
##s = self.app.miscrandom.choice((_("&OK"), _("&OK")))
|
##s = self.app.miscrandom.choice((_("&OK"), _("&OK")))
|
||||||
|
|
|
@ -90,6 +90,7 @@ class Images:
|
||||||
self._xshadow = []
|
self._xshadow = []
|
||||||
self._shade = []
|
self._shade = []
|
||||||
self._shadow_cards = {} # key: (suit, rank)
|
self._shadow_cards = {} # key: (suit, rank)
|
||||||
|
self._shadow_back = None
|
||||||
self._pil_shadow = {} # key: (width, height)
|
self._pil_shadow = {} # key: (width, height)
|
||||||
self._pil_shadow_image = None
|
self._pil_shadow_image = None
|
||||||
|
|
||||||
|
@ -252,7 +253,9 @@ class Images:
|
||||||
##print "getFace:", suit, rank, index
|
##print "getFace:", suit, rank, index
|
||||||
return self._card[index % self.cs.ncards]
|
return self._card[index % self.cs.ncards]
|
||||||
|
|
||||||
def getBack(self, deck, suit, rank):
|
def getBack(self, update=False):
|
||||||
|
if update:
|
||||||
|
self._shadow_back = None
|
||||||
index = self.cs.backindex % len(self._back)
|
index = self.cs.backindex % len(self._back)
|
||||||
return self._back[index].image
|
return self._back[index].image
|
||||||
|
|
||||||
|
@ -372,6 +375,14 @@ class Images:
|
||||||
return self.getShade()
|
return self.getShade()
|
||||||
return shade
|
return shade
|
||||||
|
|
||||||
|
def getShadowBack(self):
|
||||||
|
if self._shadow_back:
|
||||||
|
return self._shadow_back
|
||||||
|
image = self.getBack()
|
||||||
|
shade = shadowImage(image)
|
||||||
|
self._shadow_back = shade
|
||||||
|
return shade
|
||||||
|
|
||||||
def getCardbacks(self):
|
def getCardbacks(self):
|
||||||
return self._back
|
return self._back
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ class _OneImageCard(_HideableCard):
|
||||||
_HideableCard.__init__(self, id, deck, suit, rank, game, x=x, y=y)
|
_HideableCard.__init__(self, id, deck, suit, rank, game, x=x, y=y)
|
||||||
images = game.app.images
|
images = game.app.images
|
||||||
self.__face_image = images.getFace(deck, suit, rank)
|
self.__face_image = images.getFace(deck, suit, rank)
|
||||||
self.__back_image = images.getBack(deck, suit, rank)
|
self.__back_image = images.getBack()
|
||||||
self.__image = MfxCanvasImage(game.canvas, self.x, self.y,
|
self.__image = MfxCanvasImage(game.canvas, self.x, self.y,
|
||||||
image=self.__back_image,
|
image=self.__back_image,
|
||||||
anchor=gtk.ANCHOR_NW)
|
anchor=gtk.ANCHOR_NW)
|
||||||
|
@ -106,8 +106,12 @@ class _TwoImageCard(_HideableCard):
|
||||||
_HideableCard.__init__(self, id, deck, suit, rank, game, x=x, y=y)
|
_HideableCard.__init__(self, id, deck, suit, rank, game, x=x, y=y)
|
||||||
images = game.app.images
|
images = game.app.images
|
||||||
self.item = MfxCanvasGroup(game.canvas)
|
self.item = MfxCanvasGroup(game.canvas)
|
||||||
self.__face = MfxCanvasImage(game.canvas, self.x, self.y, image=images.getFace(deck, suit, rank), anchor='nw')
|
self.__face = MfxCanvasImage(game.canvas, self.x, self.y,
|
||||||
self.__back = MfxCanvasImage(game.canvas, self.x, self.y, image=images.getBack(deck, suit, rank), anchor='nw')
|
image=images.getFace(deck, suit, rank),
|
||||||
|
anchor='nw')
|
||||||
|
self.__back = MfxCanvasImage(game.canvas, self.x, self.y,
|
||||||
|
image=images.getBack(),
|
||||||
|
anchor='nw')
|
||||||
self.__face.addtag(self.item)
|
self.__face.addtag(self.item)
|
||||||
self.__back.addtag(self.item)
|
self.__back.addtag(self.item)
|
||||||
self.__face.hide()
|
self.__face.hide()
|
||||||
|
|
|
@ -375,7 +375,7 @@ class Cardset(Resource):
|
||||||
|
|
||||||
def updateCardback(self, backname=None, backindex=None):
|
def updateCardback(self, backname=None, backindex=None):
|
||||||
# update default back
|
# update default back
|
||||||
if isinstance(backname, str):
|
if isinstance(backname, basestring):
|
||||||
if backname in self.backnames:
|
if backname in self.backnames:
|
||||||
backindex = self.backnames.index(backname)
|
backindex = self.backnames.index(backname)
|
||||||
if isinstance(backindex, int):
|
if isinstance(backindex, int):
|
||||||
|
|
|
@ -1352,7 +1352,10 @@ class Stack:
|
||||||
drag.shade_stack = sstack
|
drag.shade_stack = sstack
|
||||||
if sstack.cards:
|
if sstack.cards:
|
||||||
card = sstack.cards[-1]
|
card = sstack.cards[-1]
|
||||||
img = images.getShadowCard(card.deck, card.suit, card.rank)
|
if card.face_up:
|
||||||
|
img = images.getShadowCard(card.deck, card.suit, card.rank)
|
||||||
|
else:
|
||||||
|
img = images.getShadowBack()
|
||||||
else:
|
else:
|
||||||
img = images.getShade()
|
img = images.getShade()
|
||||||
if not img:
|
if not img:
|
||||||
|
|
|
@ -1172,8 +1172,8 @@ class PysolMenubar(PysolMenubarActions):
|
||||||
if cs.backindex == old_index:
|
if cs.backindex == old_index:
|
||||||
return
|
return
|
||||||
self.app.updateCardset(self.game.id)
|
self.app.updateCardset(self.game.id)
|
||||||
|
image = self.app.images.getBack(update=True)
|
||||||
for card in self.game.cards:
|
for card in self.game.cards:
|
||||||
image = self.app.images.getBack(card.deck, card.suit, card.rank)
|
|
||||||
card.updateCardBackground(image=image)
|
card.updateCardBackground(image=image)
|
||||||
self.app.canvas.update_idletasks()
|
self.app.canvas.update_idletasks()
|
||||||
self.tkopt.cardback.set(cs.backindex)
|
self.tkopt.cardback.set(cs.backindex)
|
||||||
|
|
|
@ -1181,8 +1181,8 @@ class PysolMenubar(PysolMenubarActions):
|
||||||
if cs.backindex == old_index:
|
if cs.backindex == old_index:
|
||||||
return
|
return
|
||||||
self.app.updateCardset(self.game.id)
|
self.app.updateCardset(self.game.id)
|
||||||
|
image = self.app.images.getBack(update=True)
|
||||||
for card in self.game.cards:
|
for card in self.game.cards:
|
||||||
image = self.app.images.getBack(card.deck, card.suit, card.rank)
|
|
||||||
card.updateCardBackground(image=image)
|
card.updateCardBackground(image=image)
|
||||||
self.app.canvas.update_idletasks()
|
self.app.canvas.update_idletasks()
|
||||||
self.tkopt.cardback.set(cs.backindex)
|
self.tkopt.cardback.set(cs.backindex)
|
||||||
|
|
|
@ -284,7 +284,7 @@ DealFaceUp = WizSetting(
|
||||||
var_name = 'deal_face_up',
|
var_name = 'deal_face_up',
|
||||||
)
|
)
|
||||||
DealToReseves = WizSetting(
|
DealToReseves = WizSetting(
|
||||||
values_map = (0, 20),
|
values_map = (0, 208),
|
||||||
default = 0,
|
default = 0,
|
||||||
widget = 'spin',
|
widget = 'spin',
|
||||||
label = _('# of cards dealt to the reserve:'),
|
label = _('# of cards dealt to the reserve:'),
|
||||||
|
|
Loading…
Add table
Reference in a new issue