Ir al contenido principal

Juego de penales en PSeInt

Juego de penales hecho en PSeInt. Cuenta el número de goles hechos por el usuario y las atajadas del arquero, éste se mueve sólo en 3 posiciones: izquierda, centro y derecha. Se utilizó el la siguiente configuración para el desarrollo del programa:
Demo: Código fuente:
Algoritmo juego_penales_pseint
	
	//Autor: https://codigojerry.blogspot.com/

	goles=0;//contador numero de goles
	atajadas=0;//contador de atajadas
	arqueroAtajo=falso;//si el arquero atajo o no.
	
	Repetir
		Borrar Pantalla;
		Escribir "Número de goles: ",goles;
		Escribir "Número de atajadas: ",atajadas;
		
		Escribir "___________________________________________________________";
		Escribir "-----------------------------------------------------------";
		Escribir "||                                                       ||";
		Escribir "||                   * * * * * *                         ||";
		Escribir "||                   *   \ /   *                         ||";
		Escribir "||                   *   ---   *                         ||";
		Escribir "||                   * * * * * *                         ||";
		Escribir "||                        ||                             ||";	
		Escribir "||                 _______||________                     ||";
		Escribir "||                        ||                             ||";	
		Escribir "||                        ||                             ||";
		Escribir "||                       /  \                            ||";	
		Escribir "||                      /    \                           ||";
		Escribir "||                     /      \                          ||";
		Escribir "";
		Escribir "            1. Izquierda | 2. Centro | 3. Derecha";
		Leer tiro;		
		
		si (tiro<0 o tiro>3)  Entonces //condicional para validar que sólo sean los numeros 1 (izquierda), 2 (centro) y 3 (derecha) para patear
			
			Escribir "Solo son validos numeros del 1 al 3 para patear. Presiona cualquier tecla para continuar. Presionar la tecla N para salir";
			Leer jugar;	
			
		FinSi
		
		arquero= azar(3)+1;//movimiento aleatorio del arquero. 1 izquierda, 2 centro, 3 derecha
		
		si tiro==1 y arquero==1 Entonces //si patea a la izquierda y el arquero se mueve a la izquierda: Atajada 
			
			atajadas=atajadas+1;//cuenta las atajadas
			arqueroAtajo=Verdadero;//arquero atapó
			
			Borrar Pantalla;
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;			
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||   * * * * * *                                         ||";
			Escribir "||   *   \ /   *                                         ||";
			Escribir "||   *    U    *                                         ||";
			Escribir "||   * * * * * *                                         ||";
			Escribir "||       ||                                              ||";
			Escribir "||    / * * * \                                          ||";
			Escribir "||   \ * ___ * /                                         ||";	
			Escribir "||    \ * * * /                                          ||";
			Escribir "||      /  \                                             ||";	
			Escribir "||     /    \                                            ||";
			Escribir "||    /      \                                           ||";					
			
		FinSi
		
		si tiro==1 y arquero==2 Entonces //si patea a la izquierda y el arquero se queda en el centro: Gol 
			
			Borrar Pantalla;
			
			goles=goles+1;//cuenta los goles
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||                    * * * * * *                        ||";
			Escribir "||                    *   X X   *                        ||";
			Escribir "||     * * *          *    n    *                        ||";
			Escribir "||   * \___/ *        * * * * * *                        ||";
			Escribir "||  *__/   \__*      \    ||    /                        ||";	
			Escribir "||   * \___/ *        \___||___/                         ||";
			Escribir "||     * * *              ||                             ||";	
			Escribir "||                        ||                             ||";
			Escribir "||                       /  \                            ||";	
			Escribir "||                      /    \                           ||";
			Escribir "||                     /      \                          ||";	
			Escribir "";
			Escribir "        ¡GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL!";
			Esperar 2 Segundos;
			
			
		FinSi
		
		si tiro==1 y arquero==3 Entonces //si patea a la izquierda y el arquero se mueve a la derecha: Gol 
			
			Borrar Pantalla;
			goles=goles+1;//cuenta los goles
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||                                     * * * * * *       ||";
			Escribir "||                                     *   X X   *       ||";
			Escribir "||     * * *                           *    n    *       ||";
			Escribir "||   * \___/ *                         * * * * * *       ||";
			Escribir "||  *__/   \__*                        \    ||    /      ||";	
			Escribir "||   * \___/ *                          \___||___/       ||";
			Escribir "||     * * *                                ||           ||";	
			Escribir "||                                          ||           ||";
			Escribir "||                                         /  \          ||";	
			Escribir "||                                        /    \         ||";
			Escribir "||                                       /      \        ||";	
			Escribir "";
			Escribir "        ¡GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL!";
			Esperar 2 Segundos;
			
		FinSi
		
		si tiro==2 y arquero==1 Entonces //si patea al centro y el arquero se mueve a la izquierda: Gol
			
			Borrar Pantalla;
			goles=goles+1;
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||   * * * * * *                                         ||";
			Escribir "||   *   X X   *                                         ||";
			Escribir "||   *    n    *           * * *                         ||";
			Escribir "||   * * * * * *         * \___/ *                       ||";
			Escribir "||  \    ||    /        *__/   \__*                      ||";	
			Escribir "||   \___||___/          * \___/ *                       ||";
			Escribir "||       ||                * * *                         ||";	
			Escribir "||       ||                                              ||";
			Escribir "||      /  \                                             ||";	
			Escribir "||     /    \                                            ||";
			Escribir "||    /      \                                           ||";	
			Escribir "";
			Escribir "        ¡GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL!";
			Esperar 2 Segundos;

			
		FinSi
		
		si tiro==2 y arquero==2 Entonces //si patea al centro y el arquero se queda en el centro: Atajada
			
            Borrar Pantalla;
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||                   * * * * * *                         ||";
			Escribir "||                   *   \ /   *                         ||";
			Escribir "||                   *    U    *                         ||";
			Escribir "||                   * * * * * *                         ||";
			Escribir "||                        ||                             ||";
			Escribir "||                     / * * * \                         ||";
			Escribir "||                    \ * ___ * /                        ||";	
			Escribir "||                     \ * * * /                         ||";
			Escribir "||                       /  \                            ||";	
			Escribir "||                      /    \                           ||";
			Escribir "||                     /      \                          ||";	
			
			atajadas=atajadas+1;//cuenta las atajadas
			arqueroAtajo=Verdadero;
			
		FinSi
		
		si tiro==2 y arquero==3 Entonces //si patea al centro y el arquero se mueve a la derecha: Gol
			
			Borrar Pantalla;
			goles=goles+1;//cuenta los goles
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||                                        * * * * * *    ||";
			Escribir "||                                        *   X X   *    ||";
			Escribir "||                         * * *          *    n    *    ||";
			Escribir "||                       * \___/ *        * * * * * *    ||";
			Escribir "||                      *__/   \__*       \    ||    /   ||";	
			Escribir "||                       * \___/ *         \___||___/    ||";
			Escribir "||                         * * *               ||        ||";	
			Escribir "||                                             ||        ||";
			Escribir "||                                            /  \       ||";	
			Escribir "||                                           /    \      ||";
			Escribir "||                                          /      \     ||";
			Escribir "";
			Escribir "        ¡GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL!";
			
			Esperar 2 Segundos;
			
		FinSi
		
		si tiro==3 y arquero==1 Entonces  //si patea a la derecha y el arquero se mueve a la izquierda: Gol
			
			Borrar Pantalla;
			goles=goles+1;//cuenta los goles
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||   * * * * * *                                         ||";
			Escribir "||   *   X X   *                                         ||";
			Escribir "||   *    n    *                           * * *         ||";
			Escribir "||   * * * * * *                         * \___/ *       ||";
			Escribir "||  \    ||    /                        *__/   \__*      ||";	
			Escribir "||   \___||___/                          * \___/ *       ||";
			Escribir "||       ||                                * * *         ||";	
			Escribir "||       ||                                              ||";
			Escribir "||      /  \                                             ||";	
			Escribir "||     /    \                                            ||";
			Escribir "||    /      \                                           ||";
			Escribir "";
			Escribir "        ¡GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL!";
			
			Esperar 2 Segundos;

		FinSi
		
		si tiro==3 y arquero==2 Entonces //si patea a la derecha y el arquero se queda en el centro: Gol
			
			Borrar Pantalla;
			goles=goles+1;
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________";
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||                   * * * * * *                         ||";
			Escribir "||                   *   X X   *                         ||";
			Escribir "||                   *    n    *           * * *         ||";
			Escribir "||                   * * * * * *         * \___/ *       ||";
			Escribir "||                  \    ||    /        *__/   \__*      ||";	
			Escribir "||                   \___||___/          * \___/ *       ||";
			Escribir "||                       ||                * * *         ||";	
			Escribir "||                       ||                              ||";
			Escribir "||                      /  \                             ||";	
			Escribir "||                     /    \                            ||";
			Escribir "||                    /      \                           ||";
			Escribir "";
			Escribir "        ¡GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL!";
			
			Esperar 2 Segundos;

		FinSi
		
		si tiro==3 y arquero==3 Entonces	//si patea a la derecha y el arquero se mueve a la derecha: Atajada
			
			Borrar Pantalla;
			
			Escribir "Número de goles: ",goles;
			Escribir "Número de atajadas: ",atajadas;	
			
			Escribir "___________________________________________________________",;
			Escribir "-----------------------------------------------------------";
			Escribir "||                                                       ||";
			Escribir "||                                     * * * * * *       ||";
			Escribir "||                                     *   \ /   *       ||";
			Escribir "||                                     *    U    *       ||";
			Escribir "||                                     * * * * * *       ||";
			Escribir "||                                          ||           ||";
			Escribir "||                                       / * * * \       ||";
			Escribir "||                                      \ * ___ * /      ||";	
			Escribir "||                                       \ * * * /       ||";
			Escribir "||                                         /  \          ||";	
			Escribir "||                                        /    \         ||";
			Escribir "||                                       /      \        ||";
			
			atajadas=atajadas+1;//cuenta las atajadas
			arqueroAtajo=Verdadero;
			
		FinSi		
		
		si arqueroAtajo==Verdadero Entonces //si el arquero atajó entonces le pregunta al usuario si desea seguir jugando
			
			Escribir "Perdiste, el arquero atajó el penal";
			Escribir "¿Seguir jugando? Si, presiona cualquier tecla, No presionar: N";
			Leer jugar;	
			
			arqueroAtajo=Falso;//reseteo la variable
			Borrar Pantalla;
			
		FinSi

	Hasta Que jugar=="n" o jugar=="N"	
	
FinAlgoritmo

Comentarios

Entradas más populares de este blog

Buscador en tiempo real con AJAX, PHP y MySQL

Buscador realizado en HTML utilizando como lenguaje de programación PHP , la tecnología AJAX y a MySQL como motor de base de datos.

Funciones (subprocesos) en PSeInt

A partir de la version 20121010 (10/Octubre/2012) PSeInt permite la posibilidad de definir funciones al que el creador del mismo bautizó como subprocesos , en este tutorial explicaremos brevemente cómo se tratan dichas funciones. Para empezar una función no es más que un bloque de código con un determinado fin o propósito, podemos definir más de una y nos permiten ahorrar líneas código si nuestros programas son muy extensos o hay codificación redundante.

Convertir un decimal a binario en PSeInt

Utilizaremos el siguiente método para convertir números decimales a binarios (números que se sólo se componen de unos y ceros). El método es sencillo, consiste en dividir el número decimal entre dos, despues su cociente entre el mismo número y así sucesivamente hasta que finalmente el cociente (que se convierte en un divisor) sea igual a uno. Despúes organizamos los residuos desde el último al primero para obtener el número binario que buscamos.