Quien llega primero a 30 es un juego para dos usuarios en donde el objetivo es ver cuál de los dos llega primero al número 30, cada usuario solo puede usar los números 1, 2 o 3, estos se sumarán dependiendo el número:
Por ejemplo:
El Jugador 1, puede empezar con los números 1, 2 o 3, en este caso si empezará con el número 2.
El Jugador 2, a este número el jugador 2 puede sumarlo con 1, 2 o 3; Si eligiera el número 3 su resaltado seria 5.
El Jugador 1, nuevamente el jugador puede escoger entre el 1, 2 o 3: si eligiera el número 1 su resultado seria 6, así sucesivamente hasta que alguno de los dos jugadores llegue al 30.
Bien amigos como ya es costumbre empezaremos a explicar el funcionamiento de este algoritmo, entonces lo primero que hacemos es ponerle un nombre, en mi caso le puse:
Algoritmo detarea
Declaramos las siguientes variables de tipo entero.
Definir x, a, b, n Como Entero
Inicializamos las variables a y b con el número cero, con la variable a controlaremos los puntos del jugador 1 y con la variable b controlaremos los puntos de jugador 2.
a = 0
b = 0
Ingresamos en la variable x un número al azar entre 1 y 2, esto para ver quien empieza primero el juego, no queremos que los jugadores tengan ventaja.
Le sumamos 1 a la función azar para descartar el 0.
x = azar(2) + 1
Mostramos un mensaje donde indicamos que jugador empezara.
Escribir «Empieza el juego el jugador «,x
Utilizamos un ciclo que se repetirá mientras que las variables a y b sean menor a 30. (Es decir que mientras los jugadores tengan menos de 30 puntos el ciclo se repetirá)
Mientras a < 30 y b < 30 Hacer
Dentro del cuerpo del bucle mostramos es espacio en blanco para separar los mensajes.
Escribir «»
Con la función escribir pedimos que se ingrese un número entre 1 y 3.
Escribir «Jugador «,x,» ingresa un número entre 1 y 3″
Este número lo guardamos en la variable n.
leer n
Evaluamos si el numero ingresado es un número mayor a 0 pero menor a 4.
si n > 0 y n < 4 Entonces
Si la condición se cumple, entonces evaluamos si la variable x es igual a 1.
Es decir estamos evaluando si el jugador que empezó el juego es el número 1.
si x == 1 Entonces
Si la condición se cumple entonces en la variable a almacenamos los puntos del jugador 2 y le sumamos el numero ingresado.
a = b + n
En cada bucle vamos mostrando como van la puntuaciones de los jugadores.
Escribir «El Jugador 1 lleva «,a,» puntos «
Escribir «El Jugador 2 lleva «,b,» puntos«
Iniciamos la variable x con el numero2, esto lo hacemos para que el siguiente a ingresar un número sea el jugador 2.
x = 2
SiNo
Cuando la condición anterior no se cumpla es decir cuando x sea igual a 2
Entonces quiere decir que está ingresando el número el jugador 2, por lo tanto a cumulamos en la variable b, los puntos del jugador contrario más el numero ingreado.
b = a + n
Y mostramos en pantalla un mensaje donde damos a conocer la puntuación de los jugadores.
Escribir «El Jugador 2 lleva «,b,» puntos»
Escribir «El Jugador 1 lleva «,a,» puntos»
Iniciamos la variable x con el número 1, con esto logramos que el siguiente en ingresar el numero sea el jugador 1.
x = 1
FinSi
SiNo
Cuando los jugadores ingresen un numero fuera del rango, es decir cuando ingresen un número que no sea el 1, 2 o 3, entonces mostramos el siguiente mensaje.
Escribir «Numero incorrecto»
FinSi
FinMientras
Cuando finalice el ciclo, entonces ya habrá un ganador, para identificarlo simplemente evaluamos si los números almacenados en la variable a es mayor o igual a 30.
si a >= 30 Entonces
Si la condición se cumple entonces el ganador es el jugador 1.
Escribir «El ganador es el jugador 1 con «,a,» puntos»
SiNo
Si la condición no se cumple, entonces el ganador es el jugador 2.
Escribir «EL ganador es el jugador 2 con «,b,» puntos»
FinSi
FinAlgoritmo
Aquí puedes ver el funcionamiento de este algoritmo.
Bien amigos esta es la solución de este algoritmo, espero les guste y más que nada que les pueda ser de utilidad, un saludo y nos vemos en la próxima entrega, les comparto el código fuente.
Si mi contenido te ha sido de utilidad y te gustaría hacerme alguna donación te comparto un enlace.