Mercurial > libervia-backend
changeset 162:ae50b53ff868
misc Tarot fixes
- wix, primitivus, quick_frontend: autoplay fonction is activated by changing self._autoplay from None to 0 in quick card game
- primitivus: added forgotten import of log methods
- primitivus: fix bad selected color for notification messages
- primitivus: score are now shown
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 06 Aug 2010 12:18:50 +0800 |
parents | c37826d80f2a |
children | f582fddd0cc0 |
files | frontends/primitivus/card_game.py frontends/primitivus/custom_widgets.py frontends/primitivus/xmlui.py frontends/quick_frontend/quick_card_game.py frontends/wix/card_game.py |
diffstat | 5 files changed, 21 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/frontends/primitivus/card_game.py Fri Aug 06 12:11:18 2010 +0800 +++ b/frontends/primitivus/card_game.py Fri Aug 06 12:18:50 2010 +0800 @@ -275,6 +275,7 @@ """Called when the player as to select hist contrat @param xml_data: SàT xml representation of the form""" form = XMLUI(self.parent.host, xml_data, title = _('You win \o/') if self.player_nick in winners else _('You loose :('), options = ['NO_CANCEL']) + form.show() def invalidCards(self, phase, played_cards, invalid_cards): """Invalid cards have been played @@ -283,7 +284,8 @@ @param invalid_cards: cards which are invalid""" QuickCardGame.invalidCards(self, phase, played_cards, invalid_cards) self.hand_wid.update(self.hand) - self.parent.host.notify(_('Cards played are invalid !')) + if self._autoplay==None: #No dialog if there is autoplay + self.parent.host.notify(_('Cards played are invalid !')) self.parent.host.redraw() def cardsPlayed(self, player, cards):
--- a/frontends/primitivus/custom_widgets.py Fri Aug 06 12:11:18 2010 +0800 +++ b/frontends/primitivus/custom_widgets.py Fri Aug 06 12:18:50 2010 +0800 @@ -372,7 +372,7 @@ def __init__(self): self.waitNotifs = urwid.Text('') - self.message = ClickableText('', default_attr='notifs') + self.message = ClickableText('', default_attr='notifs', select_attr='notifs') urwid.connect_signal(self.message, 'click', lambda wid: self.showNext()) self.columns = urwid.Columns([('fixed',6,self.waitNotifs),self.message]) urwid.WidgetWrap.__init__(self, urwid.AttrMap(self.columns,'notifs'))
--- a/frontends/primitivus/xmlui.py Fri Aug 06 12:11:18 2010 +0800 +++ b/frontends/primitivus/xmlui.py Fri Aug 06 12:18:50 2010 +0800 @@ -20,6 +20,7 @@ """ import urwid +from logging import debug, info, warning, error import custom_widgets from xml.dom import minidom
--- a/frontends/quick_frontend/quick_card_game.py Fri Aug 06 12:11:18 2010 +0800 +++ b/frontends/quick_frontend/quick_card_game.py Fri Aug 06 12:18:50 2010 +0800 @@ -27,7 +27,7 @@ class QuickCardGame(): def __init__(self, parent, referee, players, player_nick): - self.__fake_idx = 0 #gof: + self._autoplay = None #XXX: use 0 to activate fake play, None else self.parent = parent self.referee = referee self.players = players @@ -101,23 +101,26 @@ if self.state == "chien": self.to_show = [] self.state = "play" - #self.__fakePlay() #gof: + self.__fakePlay() def __fakePlay(self): """Convenience method for stupid autoplay /!\ don't forgot to comment any interactive dialog for invalid card""" - #gof: - if self.__fake_idx >= len(self.hand): - self.__fake_idx = 0 - card = self.hand[self.__fake_idx] + if self._autoplay == None: + return + if self._autoplay >= len(self.hand): + self._autoplay = 0 + card = self.hand[self._autoplay] self.parent.host.bridge.tarotGamePlayCards(self.player_nick, self.referee, [(card.suit, card.value)], profile_key = self.parent.host.profile) - del self.hand[self.__fake_idx] + del self.hand[self._autoplay] self.state = "wait" - self.__fake_idx+=1 + self._autoplay+=1 def showScores(self, xml_data, winners, loosers): - """Called when the player as to select hist contrat - @param xml_data: SàT xml representation of the form""" + """Called at the end of a game + @param xml_data: SàT xml representation of the scores + @param winners: list of winners' nicks + @param loosers: list of loosers' nicks""" raise NotImplementedError def cardsPlayed(self, player, cards): @@ -149,5 +152,5 @@ self.hand.append(self.cards[suit, value]) self.hand.sort() - #self.__fakePlay() #gof: + self.__fakePlay()
--- a/frontends/wix/card_game.py Fri Aug 06 12:11:18 2010 +0800 +++ b/frontends/wix/card_game.py Fri Aug 06 12:18:50 2010 +0800 @@ -121,7 +121,8 @@ self._recalc_ori() self.Refresh() - wx.MessageDialog(self, _("Cards played are invalid !"), _("Error"), wx.OK | wx.ICON_ERROR).ShowModal() + if self._autoplay==None: #No dialog if there is autoplay + wx.MessageDialog(self, _("Cards played are invalid !"), _("Error"), wx.OK | wx.ICON_ERROR).ShowModal() def _is_on_hand(self, pos_x, pos_y): """Return True if the coordinate are on the hand cards"""