Ir al contenido principal

Juego Piedra, Papel o Tijera en PSeInt

Juego del clásico Piedra, papel o tijera hecho en PSeInt con gráficas. El juego es el usuario versus la computadora. Ésta elige 3 números al azar cada vez que se inicia un nuevo juego. 1 para piedra 2 para papel y 3 para tijera. El algoritmo se hizo con la siguiente configuración:
Demo:

Código Fuente
Funcion piedra()
	Escribir "      **********";
	Escribir "    *    __ _ _ *";
	Escribir "   *           \  *"; 
	Escribir "  *  /   / **      *"; 
	Escribir "   * \           / *";
	Escribir "    *    **  --   *";
	Escribir "     * --------- *";
	Escribir "       **********";
	
Fin Funcion

Funcion papel()
	Escribir "  ___________________";
	Escribir "  | --------------  |";
	Escribir "  | ----------- ___ |";
	Escribir "  | ----------- |  ||";
	Escribir "  | --------------- |";
	Escribir "  | --------------- |";
    Escribir "  | --------------- |";
	Escribir "  |_________________|";
	
FinFuncion

Funcion  tijera()
	
	Escribir "   *               *";
	Escribir "   ***           ***";
	Escribir "    ***         ***";
	Escribir "     ***       ***";
	Escribir "      ***     ***";
	Escribir "       ***   ***";
	Escribir "       * *   * *";
	Escribir "      * * *  * * *";
	Escribir "    * *** *  * *** *";
	Escribir "   * **** *  * *** *";
	Escribir "   * **** *  * *** *";
	Escribir "   * **** *  * *** *";
	Escribir "     ****      ***  ";	
FinFuncion

Algoritmo piedra_papel_tijera
		
	Repetir
		
		cpu=azar(3)+1;//1. piedra 2. papel 3. tijera
		
		Escribir "1. Piedra | 2. Papel | 3. Tijera | 0. Salir";
		leer jugador;
		
		si (jugador>=0 y jugador<=3) Entonces //valido que el usuario ingrese opciones del 0 al 3
			
			si jugador==1 y cpu==1 Entonces //cpu piedra
				
				Escribir "****EMPATE****";
				Escribir "JUGADOR";
				piedra();
				Escribir "MÁQUINA";
				piedra();
				
			FinSi
			
			si jugador==2 y cpu==1 Entonces //cpu piedra
				
				Escribir "****GANASTE****";
				Escribir "JUGADOR";
				papel();
				Escribir "MÁQUINA";
				piedra();
				
			FinSi
			
			si jugador==3 y cpu==1 Entonces //cpu piedra
				
				Escribir "****PERDISTE****";
				Escribir "JUGADOR";
				tijera();
				Escribir "MÁQUINA";
				piedra();
				
			FinSi
			
			si jugador==1 y cpu==2 Entonces //cpu papel
				
				Escribir "****PERDISTE****";
				Escribir "JUGADOR";
				piedra();
				Escribir "MÁQUINA";
				papel();
				
			FinSi
			
			si jugador==2 y cpu==2 Entonces //cpu papel
				
				Escribir "****EMPATE****";
				Escribir "JUGADOR";
				papel();
				Escribir "MÁQUINA";
				papel();
				
			FinSi
			
			si jugador==3 y cpu==2 Entonces //cpu papel
				
				Escribir "****GANASTE****";
				Escribir "JUGADOR";
				tijera();
				Escribir "MÁQUINA";
				papel();
				
			FinSi	
			
			si jugador==1 y cpu==3 Entonces //cpu tijera
				
				Escribir "****GANASTE****";
				Escribir "JUGADOR";
				piedra();
				Escribir "MÁQUINA";
				tijera();
				
			FinSi
			
			si jugador==2 y cpu==3 Entonces //cpu tijera
				
				Escribir "****PERDISTE****";
				Escribir "JUGADOR";
				papel();
				Escribir "MÁQUINA";
				tijera();
				
			FinSi
			
			si jugador==3 y cpu==3 Entonces //cpu tijera
				
				Escribir "****EMPATE****";
				Escribir "JUGADOR";
				tijera();
				Escribir "MÁQUINA";
				tijera();
				
			FinSi		
			
			Esperar 3 segundos;
			Borrar Pantalla;			
			
		SiNo
			Escribir "Por favor ingrese un número válido";
			Esperar 2 segundos;
			Borrar Pantalla;			
		finsi	
		
	Hasta Que jugador==0
	
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.