Está en la página 1de 2

Fundamentos de Computación ICM00794 Escuela Superior Politécnica del Litoral

Solucionario Instituto de Ciencias Matemáticas

Parcial II Término 2005-2006. Diciembre 06, 2005


Tema 4 (25 puntos) Para una nueva versión del juego “Escaleras y Serpientes” se desea disponer del
algoritmo para simulación en computador. El juego de dos jugadores consiste en llegar a la meta en primer
lugar en un tablero de 64 casillas cuyas especificaciones son las siguientes:
1. Al inicio los jugadores están en una misma posición y arrancan su trayectoria cuando lanzando una
moneda (cara 1 o 2) el jugador que gane empieza.
2. Cada jugador realiza su recorrido alternadamente de acuerdo a los resultados de los lanzamientos de
un dado (6 caras)
3. Al avanzar, el jugador puede “caer” en una “casilla de castigo”, por lo que retrocederá 3 pasos de la
posición en la que se encuentra. Si cae en “casilla de premio”, el usuario avanzará 3 pasos de la
posición en la que se encuentra.
4. Luego de un lanzamiento y determinación de la posición final, el jugador le pasa el turno al otro
jugador.
5. Se repite el juego desde el paso 2 hasta que uno de los jugadores pase la meta.
Al final se deberá mostrar:
 Número de veces jugadas por cada jugador, y
 El jugador que ganó.
Nota: casillas de premio: 4, 9, 29, 34, 46 y de castigo: 8, 19, 38, 50, 60

Rubrica: Manejo de jugadores y aleatorios (10 puntos), asignación de premios o castigos (5 puntos), contador de turnos (5 puntos),
determinar ganador (5 puntos)

Propuesta de Solución:
Se inicializa acumuladores para determinar la posición de cada jugador A y B, asi como un contador para los
turnos. Se lanza el dado para el jugador A, se avanza acumulando los puntos del dado, se valida el premio o
castigo para luego repetir el proceso para el jugador B, repitiendo el proceso hasta que uno de los dos supere
la meta n. Se valida cual jugador gano. Al final se muestran los resultados
Descripción DIAGRAMA DE FLUJO MATLAB ver 6.5
Inicio % Parcial II Termino 2005
% Tema 4. Escaleras y
Tamaño del tablero Serpientes
n=64;
Posición jugador A
a=0;
Posición jugador B
b=0;
Turno iniciales
turno=0;
Repita
while ~(a>n | b>n)
Lanza el dado % jugador A
Avanza jugador A dado=fix(rand*6)+1;
a=a+dado;

Valida si hay Premio


if a==4 | a==9 | a==29 | a==34 |
a==46

a=a+3;

end
Valida si hay castigo
if a==8 | a==19 | a==38 | a==50
| a==60

a=a-3;

end

Parc_Iiterm2005_Solucion_T4.Docx edelros@espol.edu.ec Página 1


Fundamentos de Computación ICM00794 Escuela Superior Politécnica del Litoral
Solucionario Instituto de Ciencias Matemáticas

%jugador B
Lanza el dado jugador
B dado=fix(rand*6)+1;

Avanza jugador B b=b+dado;

if b==4 | b==9 | b==29 | b==34 |


Valida premio b==46

b=b+3;

end

Valida Castigo if b==8 | b==19 | b==38 | b==50


| b==60

b=b-3;

end
Cuenta turno
turno=turno+1;

Hasta que A o B pase end


la meta

gana=0;
Considera Empate

if a>b
Caso en que gana A
gana=1;

end

Caso en que gana B if b>a

gana=2;

end

Muestra ganador disp('gana el jugador: ');


disp(gana);

Muestra turnos jugados disp('turnos jugados:');


disp(turno)
Fin

Ejecución del algoritmo: escaleraserpiente.m


>> escaleraserpiente >> escaleraserpiente
gana el jugador: gana el jugador:
1 2
turnos jugados: turnos jugados:
21 20

Parc_Iiterm2005_Solucion_T4.Docx edelros@espol.edu.ec Página 2

También podría gustarte