示例#1
0
    def test_who_is_winner(self):
        g = Game()
        g.board.pit(Board.player_a, Board.home_pit).inc(5)
        g.board.pit(Board.player_b, Board.home_pit).inc(3)
        self.assertEquals(g.who_is_winner(), Board.player_a)

        g.board.pit(Board.player_a, Board.home_pit).clear()
        g.board.pit(Board.player_b, Board.home_pit).clear().inc(1)
        self.assertEquals(g.who_is_winner(), Board.player_b)

        g.board.pit(Board.player_a, Board.home_pit).clear()
        g.board.pit(Board.player_b, Board.home_pit).clear()
        self.assertEquals(g.who_is_winner(), None)
示例#2
0
class Table:

    ## konstruktor
    def __init__(self):
        self.players=[]
        self.game = Game(self.players)

    ## dodawanie gracza
    # @param player
    def addPlayer(self,player):
        self.players.append(player)

    #def removePlayer(self,player):
        #print ("abc")

    ## start gry na stoliku
    def start(self):
        self.game = Game(self.players)
        self.game.start()
        self.game.begin_turn()
        return 0

    ## licytacja, zwraca [ , ] pierwszy parametry sprawdza ile jeszcze graczy ma licytowac, drugi w przypadku -1 odpowiedz gracza jest bledna, >=0 jest poprawna
    ## przyjmuje id gracza, akcje np "fold" "call" "bet" "raise" oraz wysokosc zakladu
    # @param id gracza
    # @param action co wykonac
    # @param bet wysokosc zakladu
    def auction(self,id,action,bet):
        print (action)
        return self.game.auction(id,action,bet)

    ## drukowanie kart na stole
    def board(self):
        return self.game.board

    ## drukowanie graczy
    def print_players(self):
        for id in self.players:
            print (id.money)
            print (id.isFold)

    ## drukowanie kart graczy
    def print_players_hand(self):
        for id in self.players:
            print (id.hand)
            print (id.money)
            print (id.isFold)

    ## graj flop
    def play_flop(self):
        self.game.flop()
        return 0

    ## graj turn
    def play_turn(self):
        self.game.turn()
        return 0

    ## graj river
    def play_river(self):
        self.game.river()
        return 0

    ## dodaj gracza
    # @param id gracza
    # @param money ilosc kasy
    def add_players(self,id,money):
        self.addPlayer((Player(id,"{0}".format(id), money) ))
        return 0

    ## sprawdza czy jest wygrany, jesli tak zwraca 0
    def is_winner(self):
        if self.game.winner_by_fold() == 0:
            return 0
        return -1

    ## sprawdza czy jest wygrany, jesli licytacja jest skonczona, jesli tak zwraca 0
    def is_winner_after_river(self):
        if self.game.who_is_winner() == 0:
            return 0
        return -1