renix1

Jogo para passar o tempo

Feb 7th, 2016
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 7.43 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <conio.h>
  5. #include <ctype.h>
  6. #error mude a variavel global status do jogo para 1 caso queira jogar
  7. typedef unsigned short int USI;
  8. //Default == 2 EU NÃO SEI PQ TAMBÉM CUZAU, EU DECIDI COLOCAR 2 COMO PADRÃO, NÃO ENCHE
  9. USI gStatusDoJogo = 1; //False == 0, True == 1;
  10. int main (void) {
  11.     //VARIÁVEIS
  12.     char jogadorUm, jogadorDois, indice;
  13.     char respostaParaFechamento = 'S';
  14.  
  15.     ////PRÓTIPO DE FUNÇÕES
  16.  
  17.     void desenho_do_jogo (char jogadorUm, char jogadorDois);
  18.     void criar_readme(void);
  19.     void leitura_readme(void);
  20.  
  21.     //INICIANDO FUNÇÃO
  22.     criar_readme();
  23.  
  24.     //RESTO DO CÓDIGO
  25.     do{
  26.     if (gStatusDoJogo == 1) {
  27.     system("cls");
  28.     system("color 02");
  29.     printf("Digite o simbolo/letra do jogador 1: ");
  30.     jogadorUm = getche();
  31.     printf("\n");
  32.     printf("Digite o simbolo/letra do jogador 2: ");
  33.     jogadorDois = getche();
  34.     //TESTE  PARA DESCOBRIR SE É DIGITO
  35.     if ((isdigit(jogadorUm)) || (isdigit(jogadorDois))) {
  36.         printf("\nUtilize apenas simbolos\nNumeros nao permitidos\n");
  37.         exit(0);
  38.     }
  39.     printf("\n");
  40.     printf("-- SIMBOLOS ESCOLHIDOS --\n\n");
  41.     printf("-- Jogador um: %c  --\n", jogadorUm);
  42.     printf("-- Jogador dois: %c --\n", jogadorDois);
  43.     printf("\n    -- FINAL  --\n\n");
  44.     //INICIANDO FUNÇÃO
  45.     desenho_do_jogo(jogadorUm, jogadorDois);
  46.     }
  47.     else if (gStatusDoJogo == 0) {
  48.         system("color 0c");
  49.         exit(0);
  50.     }
  51.     else if ((gStatusDoJogo != 0) && (gStatusDoJogo != 1)) {
  52.         system("color 0c");
  53.         printf("Erro no jogo!\nStatus do jogo esta diferente do previsto\n");
  54.         exit(0);
  55.     }
  56.     printf("Quer continuar 'jogando' ? (S\\n): ");
  57.     respostaParaFechamento = getche();
  58.     printf("\n\n");
  59.     }while((respostaParaFechamento == 'S') || (respostaParaFechamento == 's'));
  60.     leitura_readme();
  61.     printf("\t\t\tAperte algo para fechar\n");
  62.     system("pause>null");
  63.     return(0);
  64. }
  65. void desenho_do_jogo (char jogadorUm, char jogadorDois) {
  66.  
  67.     //VARIÁVEIS
  68.     USI indice, rodadaAtual;
  69.     //PRÓTIPO DE FUNÇÕES
  70.     void semantica_do_jogo (char jogadorUm, char jogadorDois);
  71.     for (indice = 0; indice <= 3; indice++)
  72.         printf("-- GERANDO NUMEROS --\n\n");
  73.     for (indice = 0; indice <= 24; indice++) {
  74.         printf("#");
  75.     }
  76.     printf("\n");
  77.     for (indice = 0; indice <= 6; indice++) {
  78.         rodadaAtual++;
  79.         printf("# \t\t\t#\n");
  80.         if (rodadaAtual == indice+1) {
  81.             printf("# \t%c\t%c\t#\n", jogadorUm, jogadorDois);
  82.             if(rodadaAtual == 7) {
  83.                 printf("# \t\t\t#\n");
  84.             }
  85.         }
  86.     }
  87.     for (indice = 0; indice <= 24; indice++) {
  88.         printf("#");
  89.     }
  90.     printf("\n\n");
  91.     printf("    -- RESULTADO --\n");
  92.     //INICIANDO FUNÇÃO
  93.     semantica_do_jogo(jogadorUm, jogadorDois);
  94.     printf("-- FIM DO RESULTAD0 --\n\n");
  95. }
  96. void semantica_do_jogo (char jogadorUm, char jogadorDois) {
  97.     //VARIÁVEIS
  98.     USI numGenUm, numGenDois = 0;
  99.     //FUNÇÃO PARA NÚMERO ALEATÓRIO
  100.     srand((unsigned)time(NULL));
  101.     //GERA NÚMERO ALEATÓRIO
  102.     numGenUm = 6 + (rand() % 100);
  103.     numGenDois = 6 + (rand() % 100);
  104.     jogadorUm = toupper(jogadorUm);
  105.     jogadorDois = toupper(jogadorDois);
  106.     if (numGenUm > 100)
  107.         numGenUm = 100;
  108.     else if (numGenDois > 100)
  109.         numGenDois = 100;
  110.     printf("Pontos sorteado para '%c': %d\nPontos sorteado para '%c': %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
  111.     if (numGenUm > numGenDois){
  112.         jogadorUm = toupper(jogadorUm);
  113.         printf("Vencedor '%c', pontuacao %hu\n", jogadorUm, numGenUm);
  114.         FILE *vencedor;
  115.         vencedor = fopen("vencedor.txt","a");
  116.         if (vencedor == NULL)
  117.             printf("Nao conseguimos acessar o arquivo\n");
  118.         else {
  119.             fprintf(vencedor, "Vencedor = '%c', pontuacao: %hu\n", jogadorUm, numGenUm);
  120.             fflush(vencedor);
  121.             fclose(vencedor);
  122.         }
  123.     }
  124.     else if (numGenDois > numGenUm) {
  125.         jogadorDois = toupper(jogadorDois);
  126.         printf("Vencedor '%c', pontuacao: %hu\n", jogadorDois, numGenDois);
  127.         FILE *vencedor;
  128.         vencedor = fopen("vencedor.txt","a");
  129.         if (vencedor == NULL)
  130.             printf("Nao conseguimos acessar o arquivo\n");
  131.         else {
  132.             fprintf(vencedor, "Vencedor = '%c', pontuacao: %hu\n", jogadorDois, numGenDois);
  133.             fflush(vencedor);
  134.             fclose(vencedor);
  135.         }
  136.     }
  137.     else if (numGenUm == numGenDois) {
  138.         printf("\nDeu empate essa bosta, jogador '%c' com seguinte valor: %hu, jogador '%c' com seguintes valor: %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
  139.         FILE *vencedor;
  140.         vencedor = fopen("vencedor.txt","a");
  141.         if (vencedor == NULL)
  142.             printf("Nao conseguimos acessar o arquivo\n");
  143.         else {
  144.             fprintf(vencedor, "Ocorreu um empate\nPontuacao do jogador '%c': %hu\nPontuacao do jogador '%c': %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
  145.             fflush(vencedor);
  146.             fclose(vencedor);
  147.         }
  148.     }
  149.     else if ((numGenUm == 66) || (numGenDois == 66)) {
  150.         printf("Bem vindo ao outro mundo\n");
  151.         printf("Voce achou um easter egg e foi apenas por pura sorte, sera que voce ira descobrir o por que?\n");
  152.         FILE *easteregg;
  153.         easteregg = fopen("easterEggPorque.txt", "a");
  154.         if (easteregg == NULL)
  155.             printf("Nao conseguimos acessar o arquivo\n");
  156.         else {
  157.             if (numGenUm == 66) {
  158.                 numGenUm = 666;
  159.                 fprintf(easteregg, "Voce descobriu o porque provavelmente...\nRazao: %d\n", numGenUm);
  160.             }
  161.             else if (numGenDois == 66) {
  162.                 numGenDois = 666;
  163.                 fprintf(easteregg, "Voce descobriu o porque provavelmente...\nRazao: %d\n", numGenDois);
  164.             }
  165.         }
  166.         fflush(easteregg);
  167.         fclose(easteregg);
  168.         }
  169.     else {
  170.         printf("Deu algum erro em algo mas vou exibir alguns dados do jogo\nJogador '%c' com seguinte valor: %hu, Jogador '%c' com seguinte valor %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
  171.         FILE *vencedor;
  172.         vencedor = fopen("vencedor.txt","a");
  173.         if (vencedor == NULL)
  174.             printf("Nao conseguimos acessar o arquivo\n");
  175.         else {
  176.             fprintf(vencedor, "Ocorreu um erro e vamos exibir os detalhes mesmo asssim\nPontuacao do jogador '%c': %hu\nPontuacao do jogador '%c': %hu\n", jogadorUm, numGenUm, jogadorDois, numGenDois);
  177.             fflush(vencedor);
  178.             fclose(vencedor);
  179.         }
  180.     }
  181. }
  182. void criar_readme (void) {
  183.     FILE *arquivo;
  184.     arquivo = fopen("readme.txt", "w");
  185.     if (arquivo == NULL)
  186.         printf("Nao consegui fazer escrita do arquivo\n");
  187.     else {
  188.         fprintf(arquivo, "\n\t\t--------------- README DO JOGO ---------------\n");
  189.         fprintf(arquivo, "Esse e um jogo para se jogar quando nao tiver nada para fazer e estiver entediado, ou nem isso. Vai la saber ne...");
  190.         fprintf(arquivo, "\n\t\t--------------- README DO JOGO ---------------\n");
  191.         fflush(arquivo);
  192.         fclose(arquivo);
  193.     }
  194. }
  195. void leitura_readme (void) {
  196.     char read;
  197.     FILE *arquivo;
  198.     arquivo = fopen("readme.txt", "r");
  199.     if (arquivo == NULL)
  200.         printf("Nao consegui fazer a leitura do arquivo\n");
  201.     else {
  202.         while((read=fgetc(arquivo))!=EOF){
  203.             putchar(read);
  204.         }
  205.     }
  206.     fflush(arquivo);
  207.     fclose(arquivo);
  208. }
Advertisement
Add Comment
Please, Sign In to add comment