Usted ha sido contratado por la empresa Juegos, S.A. para desarrollarle la última idea que se le ha ocurrido al equipo de Investigación y Desarrollo de Implementación de Juegos Usando el Computador (InDIJuCo). El juego consistirá en hacer que el usuario se mantenga adivinando letras de una palabra hasta que adivine todas las letras o falle en el número de oportunidades que le han sido dadas. Las condiciones con las que debe contar el juego son las siguientes:
Se digitará una frase, la cual deberá ser adivinada, letra a letra por el contrincante. Al momento de digitar la frase debe aparecer asteriscos en la pantalla de tal forma que nadie sepa que se ha escrito.
Se le permitirá fallar 80% de la cantidad de letras que contenga la frase a analizar. Ej. Frase: Algoritmos Fundamentales. 23 letras, por tanto pueden fallar en 18.4 letras o sea 19 oportunidades de fallar.
Se premiará la racha del jugador acumulando los premios que ha conseguido durante cada letra adivinada en la racha. Esto es cada letra consecutiva adivinada valdrá la sumatoria de las adivinadas anteriormente más el valor de la letra adivinada en ese momento. El momento que él falle el valor agregado por la racha se hace igual a cero.
Cada vez que el jugador haga una jugada se le presentará:
Las letras adivinadas hasta el momento mostrando un asterisco en las letras que aun no han sido adivinadas
Cantidad que gana.
Cantidad acumulada. Lo que había ganado hasta el momento más lo que ganó en esa jugada.
La cantidad acumulada en la racha.
El valor de las letras:
AEIOCS: $10.00
UDLPR: $15.00
BTFMN: $20.00
GHJQV: $25.00
KWXYZ: $30.00
lo unico que he logrado es lo siguiente:
Código
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #define MAX 100 void aster(char pass[]){ int i=0; do{ pass[i]=getch(); if(pass[i]>32){ putch('*'); i++; } else if(pass[i]==8 && i>0){ putch(8); putch(32); putch(8); i--; } }while(pass[i]!=13); } int promedio(char passa[]){ int i, cont=0, conta; for(i=0; passa[i]!='\0'; i++){ cont++; } conta=0.80*cont; return conta; } /*int evaluar(char passb[], char letra){ int i, cont=0; for (i=0; passb[i]; i++){ if(letra==passb[i]) { if (letra == 'a' || letra == 'e' || letra == 'i' || letra == 'o' || letra == 'c' || letra == 's') { cont = cont + 10; } else if(letra == 'u' || letra == 'd' || letra == 'l' || letra == 'p' || letra == 'r') { cont = cont+ 15; } else if(letra == 'b' || letra == 't' || letra == 'f' || letra == 'm' || letra == 'n') { cont = cont + 20; } else if(letra == 'g' || letra == 'j' || letra == 'h' || letra == 'q' || letra == 'v') { cont = cont + 25; } else if(letra == 'k' || letra == 'w' || letra == 'x' || letra == 'y' || letra == 'z') { cont = cont + 30; } } } return cont; }*/ int main() { char cadena[MAX]={0}; char pal; int oport=promedio(cadena); printf("Digite la palabra: "); aster(cadena); do{ /*printf("\nEscriba la letra a evaluar: "); scanf("%s", pal); printf("\nCantidad de puntos: %s", evaluar(cadena,pal));*/ printf("\nCantidad de puntos acumulados(racha): "); printf("\nOportunidades Restantes: %d", promedio(cadena)); }while(oport!=0); }
Mod: Los códigos deben ir en etiquetas GeSHi, no escribir en mayúsculas, los títulos deben ser descriptivos