UNIVERSIDAD CATOLICA BOLIVIANA
Introducción a la Programación
Presentación de Blogs
Fecha | 11/06/2011 | |||
Artículos - Materia | Mi “Toque Fama” | |||
1 | ||||
2 | ||||
Artículos –Investigación | Titulo | |||
1 | ||||
Integrantes | Nombre | Nota | ||
1 | Canchari Vasquez Cristhian | |||
2 | Toro Salas Xavier | |||
TOQUE FAMA
DEFINICIÒN DEL JUEGO
El juego consiste en adivinar una secuencia de 4 números entre 1 y 9, usando razonamiento lógico, declarado por el programa aleatoriamente.
Si aciertas un número y su correcta posición tendrás una Fama, si logras encontrar un número pero no en su correcta posición tendrás un Toque.
REGLAS DEL JUEGO
1. Debes colocar las vidas que deseas tener en el juego.
2. Ingresar por teclado 4 números aleatorios diferentes entre si en el rango 1-9.
3. Si el numero ingresado es menor a uno y mayor a 9, aparecerá en pantalla que debes reintentar el procedimiento de manera adecuada. Si esta acción se repite tres veces aparecerá que no podrás jugar por no entender .
time.h
Para tratamiento y conversión entre formatos de fecha y hora.
sirve para q puedas medir los tiempos
ademas controlar el timpo q dura un proceso mas bien dicho para q no exceda cierto tiempo
ademas controlar el timpo q dura un proceso mas bien dicho para q no exceda cierto tiempo
Srand
Establece la semilla para el generador de números pseudo-aleatorios.
PROCEDIMIENTO
Primeramente establecemos una variable vidas la cual sera leído por teclado, luego ingresamos las variables (a,b,c,d) por las cuales nos permitan ingresar por teclado los números que buscamos mientras que (w,x,y,z) son los números que deben ser diferentes establecidos por el ordenador, colocamos también un toque que empieze en cero, una fama de igual forma inicie en cero y un yapo igual a cero.
Utilizamos /n para poder bajar la línea y que tenga una mejor prentación el proyecto, lo realizamos en c pero también es ejecutable en c++ debido que acepta dichas librerías, utilizamos el do while para poder hacer que los números del random no se repitan ya que las cantidades de veces que pase por dicho ciclo y prosiga con la secuencia es mientras los números sean diferentes en el rango del 1 al 9.
Luego una ves ya definidos los números w,x,y,z debemos hacer un mientras para establecer que las vidas que colocamos anterior mente nos sirvan en el ciclo para ejecutar el juego, seguidamente utilizamos el do while haciendo que (a>9 || b>9 || c>9 || d>9 || a<1 || b<1 || c<1 || d<1) que no prosiga el proceso hasta que los números que se ingresaran por teclado tengan el rango de 1 y 9 para poder realizar el procedimiento en el cual con un if hacemos una de las reglas en la cual establecemos que si el numero no cumple el rango establecido y la secuencia de ingresar los cuatro numero se lo repite por tres veces de manera incorrecta aparecerá en pantalla "Listo, no podras jugar por no entender... ; si hace por una vez o dos veces aparecerá ‘’Solo numeros entre 1 y 9!!’’, siguiendo el proceso debemos ingresar los cuatro números . Continuando con el procedimiento es momento de realizar los toques y las famas mediante ifs donde comparamos si las variables ingresadas por teclado son las mismas que las que escogió el ordenador con la función random seguidamente colocamos otro if para ya también comparar en caso de que no sea afirmativo el primer if si se encuentra en otra de las demás posiciones lo denominaremos como toque, si comprueba que se llego a las cuatro famas ganaste el juego y te dira en cuantos intentos lo hiciste, luego se reinicia las variables yapo, fama, toque todas a cero para volver a comenzar el proceso, también se establece los intentos como intentos++ y las vidas como vidas--. En caso de que las vidas se acaben y no se logre los cuatro famas aparecerá que perdiste y la secuencia en el orden que se encontraba.
MI TOQUE FAMA-CODE BLOCKS
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void){
/* Iniciar la funcion Random */
srand ( time(NULL));
int a,b,c,d,w,x,y,z,vidas,toque=0,fama=0,intentos=0,yapo=0;
/* Introduccion */
printf("Bienvenido a Toque y Fama!\n\n");
printf("El juego consiste en adivinar una\nsecuencia de 4 numeros entre 1 y 9\n");
printf("si adivinas un numero y su correcta posicion tendras una Fama\n");
printf("si adivinas un numero pero no en su correcta posicion tendras un Toque\n\n");
printf("Cuantas vidas quieres tener?: ");
scanf("%d", &vidas);
printf("Que comienze el juego!\n\n");
/* Fin introduccion*/
/* Generar 4 numeros aleatoreos diferentes entre si en el rango 1-9 */
do{
w=(rand()%9)+1;
x=(rand()%9)+1;
y=(rand()%9)+1;
z=(rand()%9)+1;
}while((w==x) || (w==y) || (w==z) || (x==y) || (x==z) || (y==z));
while (vidas>0){
/* Pedir los numeros entre 1 y 9 con 3 oportunidades de equivocarse */
do{
if(yapo==3){
printf("Listo, no podras jugar por no entender...\n");
system("Pause");
return 0;
}
yapo++;
if(yapo>1){
printf("\nSolo numeros entre 1 y 9!!\n\n");
}
printf("Numero 1: ");
scanf("%d", &a);
printf("Numero 2: ");
scanf("%d", &b);
printf("Numero 3: ");
scanf("%d", &c);
printf("Numero 4: ");
scanf("%d", &d);
}while (a>9 || b>9 || c>9 || d>9 || a<1 || b<1 || c<1 || d<1);
/* Fin pedir numeros */
/* Asignacion de toques y famas */
if (a==w){
fama++;
}
if((a==x) || (a==y) || (a==z)){
toque++;
}
if (b==x){
fama++;
}
if((b==w) || (b==y) || (b==z)){
toque++;
}
if (c==y){
fama++;
}
if((c==x) || (c==w) || (c==z)){
toque++;
}
if (d==z){
fama++;
}
if((d==x) || (d==y) || (d==w)){
toque++;
}
/* Fin asignacion */
/* Comprobar si ganaste */
if (fama==4){
printf("Ganaste en %d intentos!!\n", intentos);
system("Pause");
return 0;
}
/* Fin comprobacion */
printf("Toques: %d Famas: %d\n\n", toque,fama); //Mostrar toques y famas
/* Reestablecer variables*/
yapo=0;
fama=0;
toque=0;
intentos++;
vidas--;
/* Fin reestablecimiento */
}
printf("Perdiste =(\nLa secuencia era: %d %d %d %d\n", w,x,y,z); //Mostrar perdiste
system("Pause");
return 0;
}