Advertisement
Guest User

Jogo da Memória

a guest
Jun 21st, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. #include <windows.h>//Sleep - pausa o programa por um determinado tempo
  5. #include <conio.h>
  6. #include <time.h>
  7.  
  8. int i = 0, j = 0, acertos = 0, erros = 0;
  9. char tecla;
  10. int numeros[5];
  11. int respostas[5];
  12.  
  13.  
  14. int main(void){
  15.    
  16.     //comando de regionalização
  17.     setlocale(LC_ALL, "Portuguese");
  18.     //título do programa
  19.     SetConsoleTitle("Jogo da memoria PBL");
  20.    
  21.     srand(time(NULL));//semente para gerar os números aleatórios
  22.    
  23.     printf ("Este programa irá gerar 5 números aleatórios entre 1 e 30.\n\n");
  24.     printf ("Você deve decorar os números exibidos em 5 segundos e depois escreve-los na\nordem em que foram exibidos.\n\n");
  25.     printf ("Pressione ENTER para iniciar");
  26.    
  27.     do{
  28.         tecla = getch(); // espera que o usuário digite uma tecla
  29.     }while (tecla != 13); // verifica se a tecla digita é o enter
  30.    
  31.     // monta a matriz a ser decorada
  32.     for (i=0;i<5;i++){
  33.         numeros[i] = (rand() % 30)+1;
  34.     }
  35.    
  36.     // variavel para a contagem regressiva
  37.     j=5;
  38.    
  39.     // mostra a matriz com o efeito de contagem regresiva
  40.     do{
  41.         system ("cls"); // apaga o que têm no console até agora
  42.         printf ("Decore os numeros abaixo em %d\n\n\n", j);
  43.         j--; // diminui o tempo a ser visualizado
  44.         for (i=0;i<5;i++){
  45.             printf ("%d\t", numeros[i]);
  46.         }
  47.        
  48.         // pausa o programa em 1 segundo
  49.         Sleep (1000);
  50.     }while (j>0); // verifica se a contagem regressiva chegou a zero
  51.    
  52.     // apaga o console
  53.     system ("cls");
  54.    
  55.     // Usuário digita os números que foram decorados
  56.     printf ("Informe os números que foram exibidos\n\n");
  57.    
  58.     for (i=0;i<5;i++){
  59.         printf ("\t%d° número: ", i+1);
  60.         scanf ("%d", &respostas[i]);
  61.         if (respostas[i]==numeros[i]){
  62.             acertos++;
  63.         }else{
  64.             erros++;
  65.         }
  66.     }
  67.    
  68.     // verifia os números digitados e mostra o resultado.
  69.     switch(acertos){
  70.         case 5:
  71.             printf ("\n\nParabéns! Sua memória é excelente. Veja os número exibidos:\n\n\t");
  72.             for (i=0;i<5;i++){
  73.                 printf ("%d\t", numeros[i]);
  74.             }
  75.             printf ("\n\nVocê acertou %i e você errou %i\n\n\t", acertos, erros);
  76.             break;
  77.        
  78.         case 4:
  79.             printf ("\n\Que Pena! Você não acertou todos os números, mas sua memória é muito boa. Veja os número exibidos:\n\n\t");
  80.             for (i=0;i<5;i++){
  81.                 printf ("%d\t", numeros[i]);
  82.             }
  83.             printf ("\n\nVocê acertou %i e você errou %i\n\n\t", acertos, erros);
  84.             break;
  85.            
  86.         case 3:
  87.             printf ("\n\Que Pena! Você não acertou todos os números, mas sua memória é boa. Veja os número exibidos:\n\n\t");
  88.             for (i=0;i<5;i++){
  89.                 printf ("%d\t", numeros[i]);
  90.             }
  91.             printf ("\n\nVocê acertou %i e você errou %i\n\n\t", acertos, erros);
  92.             break;
  93.            
  94.         case 2:
  95.             printf ("\n\Que Pena! Você não acertou todos os números, mas sua memória é ruim. Veja os número exibidos:\n\n\t");
  96.             for (i=0;i<5;i++){
  97.                 printf ("%d\t", numeros[i]);
  98.             }
  99.             printf ("\n\nVocê acertou %i e você errou %i\n\n\t", acertos, erros);
  100.             break;
  101.            
  102.         case 1:
  103.             printf ("\n\Que Pena! Você não acertou todos os números, sua é memória é péssima. Veja os número exibidos:\n\n\t");
  104.             for (i=0;i<5;i++){
  105.                 printf ("%d\t", numeros[i]);
  106.             }
  107.             printf ("\n\nVocê acertou %i e você errou %i\n\n\t", acertos, erros);
  108.             break;
  109.            
  110.         case 0:
  111.             printf ("\n\nQue pena! Sua memória não é muito boa. Veja os número exibidos:\n\n\t");
  112.             for (i=0;i<5;i++){
  113.                 printf ("%d\t", numeros[i]);
  114.             }
  115.             printf ("\n\nVocê acertou %i e você errou %i\n\n\t", acertos, erros);
  116.             break;
  117.     }
  118.    
  119.     printf ("\n\n");
  120.     system ("pause");
  121.     return 0;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement