Пример #1
0
    def appel(self):
        ''' analyse du jeu et determine le type d'appel '''

        s = StatsCartes()
        s.calcul(self.cartes)

        points = s.info.pourcentPoints
        objPoints = constantes.POINT_CONTRAT[s.info.nbOutdlers]

        limit = (objPoints * 100) / constantes.POINT['total']

        # passe
        if points < limit * self.algo['petite']:
            return 'passe'

        # contrat petite
        if (points >= limit * self.algo['petite'] and
                points < limit * self.algo['garde']):
            return 'petite'

        # contrat garde
        if (points >= limit * self.algo['garde'] and
                points < limit * self.algo['garde_sans']):
            return 'garde'

        # contrat garde_sans
        if (points >= limit * self.algo['garde_sans'] and
                points < limit * self.algo['garde_contre']):
            return 'garde_sans'

        # contrat garde_contre
        return 'garde_contre'
Пример #2
0
    def chien(self):
        ''' analyse le jeu et joue n cartes au chien '''

        # recherche d'une coupe

        s = StatsCartes()
        s.calcul(self.cartes)

        cartes = {}

        for couleur in constantes.COULEUR.iterkeys():
            cartes[couleur] = util.getCartesCouleur(self.cartes, couleur)
Пример #3
0
    def annonce(self):
        ''' le joueur peut faire des annonces '''
        s = StatsCartes()
        s.calcul(self.cartes)

        if s.info.nbAtouts < constantes.POIGNEE['simple']:
            return None

        if (s.info.nbAtouts >= constantes.POIGNEE['simple'] and
                s.info.nbAtouts < constantes.POIGNEE['double']):
            return 'simple'

        if (s.info.nbAtouts >= constantes.POIGNEE['double'] and
                s.info.nbAtouts < constantes.POIGNEE['triple']):
            return 'double'

        return 'triple'