def playHand():
    # 0 for player, 1 for bank
    player_or_bank = [0, 1]

    # Randomise bet choice
    mainBet = random.choice(player_or_bank)

    # Generate cards
    bank1 = getCard.randomCard()
    bank2 = getCard.randomCard()
    player1 = getCard.randomCard()
    player2 = getCard.randomCard()
    
    bankInitial = (getCard.cardToValue(bank1) + getCard.cardToValue(bank2)) % 10
    playerInitial = (getCard.cardToValue(player1) + getCard.cardToValue(player2)) % 10

    result = runHand.baccaratHand(playerInitial, bankInitial)

    if (result["Banker"] == 6 and result["Banker"] > result["Player"]) and mainBet == 1:
        return BANK_WIN_6
    
    if result["Player"] > result["Banker"] and mainBet == 0:
        return WIN
    elif result["Player"] > result["Banker"] and mainBet == 1:
        return LOSE
    elif result["Banker"] > result["Player"] and mainBet == 0:
        return LOSE
    elif result["Banker"] > result["Player"] and mainBet == 1:
        return WIN
    elif result["Banker"] == result["Player"]:
        return TIE
예제 #2
0
def playHand():
    # Generate cards
    bank1 = getCard.randomCard()
    bank2 = getCard.randomCard()
    player1 = getCard.randomCard()
    player2 = getCard.randomCard()

    bankInitial = (getCard.cardToValue(bank1) +
                   getCard.cardToValue(bank2)) % 10
    playerInitial = (getCard.cardToValue(player1) +
                     getCard.cardToValue(player2)) % 10

    result = runHand.baccaratHand(playerInitial, bankInitial)

    if result["Banker"] == result["Player"]:
        return TIE
예제 #3
0
def generateHands(result_frequency):
    for i in range(NUMHANDS):
        # Generate initial deal
        bank1 = getCard.randomCard()
        bank2 = getCard.randomCard()
        player1 = getCard.randomCard()
        player2 = getCard.randomCard()

        # Check for pairs
        if player1 == player2:
            result_frequency["playerPair"] += 1

        if bank1 == bank2:
            result_frequency["bankerPair"] += 1

        # Store the score in variables.
        bankInitial = (getCard.cardToValue(bank1) +
                       getCard.cardToValue(bank2)) % 10
        playerInitial = (getCard.cardToValue(player1) +
                         getCard.cardToValue(player2)) % 10

        # Determine result from tableu.
        result = runHand.baccaratHand(playerInitial, bankInitial)

        # Update result_frequency.
        if result["Player"] > result["Banker"]:
            result_frequency["Player"] += 1
        elif result["Banker"] > result["Player"]:
            result_frequency["Banker"] += 1
        elif result["Banker"] == result["Player"]:
            result_frequency["Tie"] += 1

        # Bank wins on 6 condition
        if result["Banker"] == 6 and result["Banker"] > result["Player"]:
            result_frequency["Banker6"] += 1

    return result_frequency
예제 #4
0
def test_player_draw1():
    assert runHand.baccaratHand(2, 1, 3, 10) == {"Player": 5, "Banker": 1}
예제 #5
0
def test_banker_stand3():
    assert runHand.baccaratHand(4, 7, 6, 0) == {"Player": 0, "Banker": 7}
예제 #6
0
def test_banker_draw5():
    assert runHand.baccaratHand(5, 5, 6, 10) == {"Player": 1, "Banker": 5}
예제 #7
0
def test_banker_draw3_stand():
    assert runHand.baccaratHand(0, 3, 8, 6) == {"Player": 8, "Banker": 3}
예제 #8
0
def test_player_win():
    assert runHand.baccaratHand(9, 5, 0, 0) == {"Player": 9, "Banker": 5}
예제 #9
0
def test_player_draw4():
    assert runHand.baccaratHand(0, 0, 10, 10) == {"Player": 0, "Banker": 0}
예제 #10
0
def test_player_win_7_6():
    assert runHand.baccaratHand(7, 6, 0, 0) == {"Player": 7, "Banker": 6}
예제 #11
0
def test_bank_win_7_6():
    assert runHand.baccaratHand(6, 7, 0, 0) == {"Player": 6, "Banker": 7}
예제 #12
0
def test_bank_win_player_natural():
    assert runHand.baccaratHand(8, 9, 0, 0) == {"Player": 8, "Banker": 9}
예제 #13
0
def test_bank_win():
    assert runHand.baccaratHand(6, 9, 0, 0) == {"Player": 6, "Banker": 9}
예제 #14
0
def test_player_win_bank_natural():
    assert runHand.baccaratHand(9, 8, 0, 0) == {"Player": 9, "Banker": 8}
예제 #15
0
def test_player_draw2():
    assert runHand.baccaratHand(5, 0, 7, 5) == {"Player": 2, "Banker": 5}
예제 #16
0
def test_player_draw3():
    assert runHand.baccaratHand(2, 2, 3, 4) == {"Player": 5, "Banker": 6}
예제 #17
0
def test_player_stand2():
    assert runHand.baccaratHand(7, 2, 0, 5) == {"Player": 7, "Banker": 7}
예제 #18
0
def test_player_draw5():
    assert runHand.baccaratHand(3, 0, 3, 10) == {"Player": 6, "Banker": 0}
예제 #19
0
def test_tie():
    assert runHand.baccaratHand(8, 8, 0, 0) == {"Player": 8, "Banker": 8}
예제 #20
0
def test_banker_draw3():
    assert runHand.baccaratHand(2, 3, 3, 10) == {"Player": 5, "Banker": 3}
예제 #21
0
def test_player_stand3():
    assert runHand.baccaratHand(6, 2, 0, 9) == {"Player": 6, "Banker": 1}
예제 #22
0
def test_banker_draw4():
    assert runHand.baccaratHand(4, 4, 4, 5) == {"Player": 8, "Banker": 9}
예제 #23
0
def test_banker_stand1():
    assert runHand.baccaratHand(3, 7, 1, 0) == {"Player": 4, "Banker": 7}
예제 #24
0
def test_banker_draw6():
    assert runHand.baccaratHand(1, 6, 7, 10) == {"Player": 8, "Banker": 6}
예제 #25
0
def test_banker_stand2():
    assert runHand.baccaratHand(0, 7, 10, 0) == {"Player": 0, "Banker": 7}