Ejercicios: 1Eva_IIT2013_T3 Juego Semillero
Propuesta de solución en Python, realizada solo para dos jugadores.
Observe que al lanzar dos dados, el intervalo de valores posibles es [2,12].
dado1 = int(rnd.random()*6)+1
dado2 = int(rnd.random()*6)+1
suma = dado1 + dado2
La variable quien
determina el turno del jugador.
Se lanzan los dados como números aleatorios, se acumula los puntos para cada jugador y se resta la cantidad de fichas del semillero.
if (suma<=semillero):
A = A + suma
semillero = semillero -suma
else:
A = A +semillero
semillero = 0
Se cambia el turno del jugador y se repite el proceso.
# cambia jugador
if (quien==1):
quien = 2
else:
quien = 1
TAREA: Implementar con arreglos para n jugadores.
Algoritmo en Python
# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIT2013_T3 Juego Semillero
# usando solo dos jugadores
import random as rnd
# INGRESO
apuesta = int(input('cuantas canicas: '))
while not(apuesta>=20):
apuesta = int(input('mas de 20 canicas: '))
# PROCEDIMIENTO
semillero = 2*apuesta
A = 0
B = 0
quien = 1
while not(semillero<=0):
# Juega A
if (quien==1):
dado1 = int(rnd.random()*6)+1
dado2 = int(rnd.random()*6)+1
suma = dado1 + dado2
if (suma<=semillero):
A = A + suma
semillero = semillero -suma
else:
A = A +semillero
semillero = 0
# Juega B
if (quien==2):
suma = int(rnd.random()*11)+2
if (suma<=semillero):
B = B + suma
semillero = semillero - suma
else:
B = B + semillero
semillero = 0
# cambia jugador
if (quien==1):
quien = 2
else:
quien = 1
# Determina ganador
gana = 1
if (A < B):
gana = 2
if (B==A):
gana = 0
# SALIDA
print('canicas de A: ', A)
print('canicas de B: ', B)
print('estado semillero: ', semillero)
print('jugador ganador: ', gana)
Ejecución del algoritmo
cuantas canicas: 20
canicas de A: 25
canicas de B: 15
estado semillero: 0
jugador ganador: 1
>>>
cuantas canicas: 20
canicas de A: 20
canicas de B: 20
estado semillero: 0
jugador ganador: 0
>>>
cuantas canicas: 20
canicas de A: 22
canicas de B: 18
estado semillero: 0
jugador ganador: 1
>>>