s1Eva_IT2012_T2 Juego de carreras con dados

Ejercicio: 1Eva_IT2012_T2 Juego de carreras con dados

Propuesta de solución en Python: py_pdf, también en matlab: m_pdf

Se establece el nivel del juego pidiendo el tamaño del tablero, que puede ser variable para facilitar la simulación a tableros más pequeños.

Se valida que el tamaño del tablero sea un número positivo.

Los jugadores A y B inician en la casilla de partida, fuera del tablero, marcada con 0. Por lo que se usa un acumulador para cada jugador.

Primero lanzará el jugador A, que si está en la casilla de partida y sus dados salen iguales se avanza a la primera casilla.

Si el jugador está en el tablero solo queda avanzar verificando que exista casilla de premio.

Se repite el proceso para el otro jugador, hasta que uno de ellos sobrepase la meta.

# 1Eva_IT2012_T2 Juego de carreras con dados
# propuesta: edelros@espol.edu.ec

import random

# INGRESO
n = int(input('Tamaño tablero: '))
while (n<0):
    print('tablero debe tener casillas')
    n = int(input('Tamaño tablero: '))

# PROCEDIMIENTO
A = 0
B = 0
while (A<=n and B<=0):
    # Lanzamiendo Jugador A
    dado1 = int(random.random()*6)+1
    dado2 = int(random.random()*6)+1
    if (A==0 and dado1==dado2):
        A = 1
    if (A>0):
        A = A+dado1+dado2
    if (A==2 or A==17 or A==30 or A==42):
        dado1 = int(random.random()*6)+1
        dado2 = int(random.random()*6)+1
        A = A+(dado1+dado2)

    # Lanzamiendo Jugador B
    dado1 = int(random.random()*6)+1
    dado2 = int(random.random()*6)+1
    if (B==0 and dado1==dado2):
        B = 1
    if (B>0):
        B = B+(dado1+dado2)
    if (B==2 or B==17 or B==30 or B==42):
        dado1 = int(random.random()*6)+1
        dado2 = int(random.random()*6)+1
        B = B+dado1+dado2
if (A>B):
    gana = 1
else:
    gana = 2

# SALIDA
print(gana)