Jogo: Acerte o número (com níveis de dificuldade)

Publicado por André (última atualização em 01/06/2010)

[ Hits: 9.319 ]

Homepage: http://127.0.0.1

Download game.c




Jogo do acerte o número totalmente escrito em C, nele coloquei níveis de dificuldade e dicas para ajudar o jogador a acertar. Se o pessoal gostar, quem sabe não sai uma versão melhorzinha =p

PS: Se alguém achar algum bug, favor, postar nos comentários.

  



Esconder código-fonte

/*
 * JOGO ACERTE O NUMERO
 * AUTOR: ANDRE S. ROSA JUNIOR
 * E-MAIL: [email protected]
 * LINGUAGEM: C
 * VERSÃO: 1.0
 * DATA DE CRIACAO: SEX 28 MAI 2010, ÁS 23:34
 */

#include<stdio.h>
#include<stdlib.h>


//variáveis globais
int result1, result2, result3, chute,opcao;
result1 = 89;
result2 = 1578;
result3 = 152592;

int main(){
   system("clear");
   printf("JOGO :  ...... ACERTE O NUMERO ....");
   printf("\n\nSELECIONE UM NIVEL DE DIFICULDADE:");
   printf("\n  [1]Facil"
   "\n  [2]Medio"
   "\n  [3]Expert"
   "    Opcao: ");
   scanf("%d",&opcao);
   switch(opcao){
      
      case 1:
      iniciante();
      
      break;
      
      case 2:
      medio();
      
      break;
      
      case 3:
      expert();
      
      break;
      
   }
}
   
   int iniciante(){
      
      
      printf("\nEntre com um chute: ");
      scanf("%d",&chute);
      
      //verificação
      if(chute == result1) {
         printf("PARABENS !!! VOCE VENCEU !!!\n\n");
         
         return (0);
      }
      
      if(chute > result1) 
      {
          printf("Puts! Voce errou.   Dica: de um chute menor. \n\nTente outra vez...\n\n");
          
          return iniciante();
          
       }
      if(chute < result1)  {
         
         printf("Puts! Voce errou.   Dica: de um chute maior. \n\nTente outra vez...\n\n");
         
          return iniciante();
      }
      
      return (0);
      
   }
         
            int medio(){
      
      
      printf("\nEntre com um chute: ");
      scanf("%d",&chute);
      
      //verifica
      if(chute == result2) {
          printf("\nPARABENS !!! VOCE VENCEU !!!\n\n");
          return (0);
       }
      if(chute > result2) 
      {
         
       printf("Puts! Voce errou.   Dica: de um chute menor. \n\nTente outra vez...\n\n"); 
       getchar(); 
       
       return medio();
       
    }
      if(chute < result2)  printf("Puts! Voce errou.   Dica: de um chute maior. \n\nTente outra vez...\n\n"); 
      
      getchar();
      
      return medio();
      
   }
         int expert(){
      
      
      printf("\nEntre com um chute: ");
      scanf("%d",&chute);
      
      //verificação
      if(chute == result3) {
         printf("\n\nPARABENS !!! VOCE VENCEU !!!\n\n");
         
         return (0);
      }
      if(chute > result3) {
          printf("Puts! Voce errou.   Dica: de um chute menor. \n\nTente outra vez...\n\n"); 
          return expert();
       }
       
      if(chute < result3) {
          printf("Puts! Voce errou.   Dica: de um chute maior. \n\nTente outra vez...\n\n"); 
      return expert();
   }
      
      return (0);
   }
   
   

Scripts recomendados

Recursividade x Iteratividade

Texto colorido em C para Linux

Número par ou ímpar e positivo ou negativo

Utilizando ESTRUTURA DE DADOS (REGISTRO) - abordagem simples e rápida

gerenciador de historico de comandos


  

Comentários
[1] Comentário enviado por gedarius em 01/06/2010 - 13:11h

Olá André, legal seu joguinho... uma dica, ao invés de deixar o resultado estatico, poderia criar numeros randomicos a cada execução... assim em cada execução os resultados mudariam :)

#include<time.h> // inclua esta biblioteca
...
...
srand(time(NULL)); //função para os numeros do "rand()" serem realmente randomicos rsrs
result1 = rand()%100; // result1 pode ser um numero de 0 a 100
result2 = rand()%1000; // result2 pode ser um numero de 0 a 1000
result3 = rand()%100000; // result3 pode ser um numero de 0 a 10000

bom, fica ai a dica ;-)
abraços.

[2] Comentário enviado por SamL em 01/06/2010 - 16:23h

Legal, achei que fosse com SDL :P
Valeu!

[3] Comentário enviado por andrezc em 02/06/2010 - 00:53h

Eduardo;

obrigado pela dica, vai melhorar o programa 100% :-)

Samuel,

Quem sou eu p/ criar jogos com SDL =p

Abraços, valeu galera.

[4] Comentário enviado por marcus.andrade8 em 23/09/2010 - 11:18h

Em c, é interessante declarar as funções (protótipos da funçao) antes do main.

[]s


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts