Mercurial > libervia-backend
diff frontends/quick_frontend/quick_card_game.py @ 148:1d74c59a36a9
Quick Frontend: quick card game: added convenience method getPlayerLocation & __fakePlay
getPlayerLocation give the place of the player (top, left, bottom or right)
__fakePlay try to play every card, usefull for autoplay when debugging
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 28 Jul 2010 19:56:12 +0800 |
parents | 80661755ea8d |
children | 74aaf230a7c3 |
line wrap: on
line diff
--- a/frontends/quick_frontend/quick_card_game.py Wed Jul 28 19:53:19 2010 +0800 +++ b/frontends/quick_frontend/quick_card_game.py Wed Jul 28 19:56:12 2010 +0800 @@ -27,6 +27,7 @@ class QuickCardGame(): def __init__(self, parent, referee, players, player_nick): + self.__fake_idx = 0 #gof: self.parent = parent self.referee = referee self.players = players @@ -49,6 +50,13 @@ self.to_show = [] self.state = None + def getPlayerLocation(self, nick): + """return player location (top,bottom,left or right)""" + for location in ['top','left','bottom','right']: + if getattr(self,'%s_nick' % location) == nick: + return location + assert(False) + def loadCards(self): """Load all the cards in memory @param dir: directory where the PNG files are""" @@ -88,11 +96,24 @@ else: self.state = "chien" - def MyTurn(self): + def myTurn(self): """Called when we have to play :)""" if self.state == "chien": self.to_show = [] self.state = "play" + self.__fakePlay() #gof: + + 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] + 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] + self.state = "wait" + self.__fake_idx+=1 def showScores(self, xml_data, winners, loosers): """Called when the player as to select hist contrat @@ -128,4 +149,5 @@ self.hand.append(self.cards[suit, value]) self.hand.sort() + self.__fakePlay() #gof: