Sin dobles para 2 jugadores

 Escenario

    De 168 levantadas, ¿cuántas veces 2 jugadores no reciben ningún doble?


Resultados

  Luego de correr el escenario planteado, de 168 simulaciones 5 veces dos jugadores no tuvieron ningún doble es decir,   2.98%


Python

def count_doubles_in_hand(hand):

    doubles_count = 0

    for domino in hand:

        if domino[0] == domino[1]:

            doubles_count += 1

    return doubles_count


# Nueva simulación para contar escenarios donde dos jugadores no tienen dobles

NUM_SIMULATIONS_NO_DOUBLES = 168

scenario_two_players_no_doubles_count = 0


print(f"Iniciando {NUM_SIMULATIONS_NO_DOUBLES} simulaciones para el escenario de dos jugadores sin dobles...")


for i in range(NUM_SIMULATIONS_NO_DOUBLES):

    hands = deal_dominoes(num_players=4, stones_per_player=7)


    found_two_players_no_doubles = False

    # Check all unique pairs of players

    for p1_idx in range(4):

        for p2_idx in range(p1_idx + 1, 4):

            p1_hand = hands[p1_idx]

            p2_hand = hands[p2_idx]


            doubles_in_p1_hand = count_doubles_in_hand(p1_hand)

            doubles_in_p2_hand = count_doubles_in_hand(p2_hand)


            if doubles_in_p1_hand == 0 and doubles_in_p2_hand == 0:

                found_two_players_no_doubles = True

                break # Found a pair, no need to check other pairs for this simulation run

        if found_two_players_no_doubles:

            break


    if found_two_players_no_doubles:

        scenario_two_players_no_doubles_count += 1

Comments

Popular Posts