Este es un programa que imita el juego de "piedra, papel o tijeras" en el que puedes competir contra tu pc.
Primero guardemos el código con la extensión ".c"
Este es el código:
/*Este programa es un juego de piedra, papel o tijera*/
#include <stdio.h>
#include <stdlib.h>
/* la función main inicia la ejecución del programa */
int main ()
{
/* fase de inicialización */
int x; /*La eleccion del usuario*/
int intentos; /*Numero de intentos*/
int ganados ; /*Numero de veces ganados*/
int perdidos; /*Numero de veces perdidos*/
int empate; /*Numero de veces empatados*/
unsigned int y; /*Numero que se utiliza para establecer un numero aletorio*/
intentos=0;
ganados=0;
perdidos=0;
empate=0;
printf("Selecciona una opcion\n1.-Piedra\n2.-Papel\n3.-Tijera\n(o -1 para terminar): \n");
scanf("%d", &x);
while(x!=-1){ /*Ciclo controlado por centinela*/
y =(rand() %3); /*Numero aletorio del 1 al 3*/
/*Determina cual fue la opcion que elegio el usuario*/
switch(x){ /*switch anidado dentro del while*/
case 1:
if(x==y){ /*Se evaluan las siguientes condiciones*/
printf("Es un empate\n");
empate+= 1; /*Incrementa empate*/
intentos+=1;/*Incrementa intentos*/}
else if(x<=y){
printf ("Tu pierdes\n");
perdidos+=1;/*Incrementa perdidos*/
intentos+=1;/*Incrementa intentos*/}
else if (x>=y){
printf("Ta ganas\n");
ganados+=1;/*Incrementa ganados*/
intentos+=1;/*Incrementa intentos*/
}/*Fin del if*/
break;/*Sale del switch*/
case 2: if(x==y){ /*Se evaluan las siguientes condiciones*/
printf("Es un empate\n");
empate+= 1;/*Incrementa empate*/
intentos+=1;/*Incrementa intentos*/}
else if(x<=y){
printf ("Tu pierdes\n");
perdidos+=1;/*Incrementa perdidos*/
intentos+=1;/*Incrementa intentos*/}
else if(x>=y){
printf("Tu ganas\n");
ganados+=1;/*Incrementa ganados*/
intentos+=1;/*Incrementa intentos*/
}/*Fin del if*/
break;/*Sale del switch*/
case 3: if(x==y){ /*Se evaluan las siguientes condiciones*/
printf("Es un empate\n");
empate+= 1;/*Incrementa empate*/
intentos+=1;/*Incrementa intentos*/}
else if(x<=y){
printf ("Tu pierdes\n");
perdidos+=1;/*Incrementa perdidos*/
intentos+=1;/*Incrementa intentos*/}
else if(x>=y){
printf("Tu ganas\n");
ganados+=1;/*Incrementa ganados*/
intentos+=1;/*Incrementa intentos*/
}/*Fin del if*/
break;/*Sale del switch*/
default: printf("Error\n");
break;/*Sale del switch*/
}/*Fin del switch*/
printf("Selecciona una opcion\n1.-Piedra\n2.-Papel\n3.-Tijera\n(o -1 para terminar)\n");
scanf("%d", &x);
}/*Fin del while*/
printf("\nHas ganado %d veces\n", ganados);/*Despliega el numero de veces ganados*/
printf("Has perdido %d veces\n", perdidos);/*Despliega el numero de veces perdidos*/
printf("Has empatado %d veces\n", empate);/*Despliega el numero de veces empatados*/
printf("Has jugado %d veces\n", intentos);/*Despliega el numero de intentos*/
if(ganados>perdidos){ /*Se evaluan las siguientes condiciones*/
printf("\nGanaste la partida");}
else if(perdidos>ganados){
printf("\nPerdiste la partida");}
else if(ganados==perdidos){
printf("\nEs un empate");}/*Fin del if*/
printf("\nGracias por jugar ;)");
}/*Fin de main*/
Una vez que tenemos el codigo vamos a compilarlo, pero primero localizamos el archivo en la terminal, "cd" para cambiar de carpeta y "ls" para ver su contenido.
Ya que lo localizamos, compilamos, para eso usamos "gcc nombre del archivo.c" y le damos enter.
Si compiló correctamente aparece un archivo llamado "a.out" que es el que ejecutaremos, (no es necesario poner el "getch();" de lo contrario marcará error).
Ahora para ejecutar el programa usamos "./a.out".
Bien como pueden ver aparecen las instrucciones de que numero teclear para elegir una opción, o salir. 1 para piedra, 2 para papel, 3 para tijeras y -1 para terminar.
Elegí tijeras y gane!!, nos pide otra elección.
Ahora elegí piedras y fue empate.
Después de varios intentos perdí por elegir piedra.
Al terminar nos dice cuantas ganamos, empatamos o perdimos, y las veces que jugamos.
Según el resultado nos dice si ganamos, perdimos o empatamos la partida.
Otro programa espero se diviertan un poco y les sirva!!!
ResponderEliminarSaludos!!!