Ir ao conteúdo
  • Cadastre-se

ComputaçãoEng

Membro Júnior
  • Posts

    14
  • Cadastrado em

  • Última visita

Reputação

5
  1. O menu parece estar com erro, pode me ajudar? qualquer opção que seleciono, faz o jogo para. Dev-C++ (windows) Campo Minado - v1.01 #include <stdio.h> #include <stdlib.h> #include <windows.h> /* Desenvolvido por @ComputaçãoEng*/ /* Protótipos: */ int Menu(); /* Menu do jogo */ int gerar_campo_minado(); /* Gera e mostra campo minado com valores ocultos, caso sua ativação seja status = "falsa": */ int verificar_ativacao(); /* Se ativação for status = "verdadeira", atualiza campo_2: */ int mostra_campo_minado();/* Imprime o campo atualizado... */ void Inicio(); /* Abertura do jogo*/ int Campo_1[10][10]; /* Gera valores a serem verificados de 0 a 5... */ int Campo_2[10][10]; /* Armazena os STATUS (ativado (1), desativado (0))... */ int marca_pontos = 0; /* Marca a pontução feita*/ int para=0; /* Usado para parar a geração de valores aleatorios*/ /* Desenvolvido por @ComputaçãoEng*/ int main(){ Inicio(); gerar_campo_minado(); mostra_campo_minado(); verificar_ativacao(); Menu(); system("exit"); } /* Menu de seleção*/ int Menu(){ printf(" \n Pontuacao MAXIMA : %d ", marca_pontos); printf("\n\n"); printf(" IIIIIIIIIIIIIIIIIIIIIIIII \n"); printf(" IIIIIIIIIIIIIIIIIIIIIIIII \n"); printf(" IIIIIIII -MENU- IIIIIIII\n"); printf(" IIIIIIII IIIIIIII\n"); printf(" IIIIIII 1. RESTART IIIIIII\n"); /*Reinicia campo minado... */ printf(" IIIIIII 2. CONTINUE IIIIIII\n"); /*Continua o campo minado antes da utima ação... */ printf(" IIIIIII 3. SAIR IIIIIII\n"); /*Para o joga... */ printf(" IIIIIIII IIIIIIII\n"); printf(" IIIIIIII -MENU- IIIIIIII\n"); printf(" IIIIIIIIIIIIIIIIIIIIIIIII \n"); printf(" IIIIIIIIIIIIIIIIIIIIIIIII \n\n"); int a; printf(" Menu: "); scanf("%d", &a); if( a == 3){ system("exit"); }else if( a == 2){ system("cls"); main(); }else if( a == 1){ for(int x=0; x<10 ; x++){ for(int y=0; y<10 ; y++){ Campo_2[x][y] = 0; } } marca_pontos = 0; para = 0; system("cls"); main(); } } /* Se o status for ATIVADO (1), atualiza Campo minado mostrando valor... */ /* Se o valor da coordenada for ZERO (0), então você encontrou uma mina...*/ int verificar_ativacao(){ int x, y; do{ printf("\n Coordenada: "); scanf("%d %d", &x, &y); if(x > 8 || x < 0){ printf("\n VALOR INVALIDO! "); system("cls"); mostra_campo_minado(); }else if(Campo_1[x][y] > 0 && Campo_1[x][y] < 5){ Campo_2[x][y] = 1; marca_pontos += Campo_1[x][y]; system("cls"); mostra_campo_minado(); }else if(Campo_1[x][y] == 0){ x = y = 0; system("cls"); break; } }while(1); printf("\n-----------------------------------------------------------------------------------------\n"); printf(" IIIIIIIIIIII IIIIIIII IIIIIIII IIIIII IIIIII IIII IIII IIII\n"); printf(" IIIII IIIII IIIIIIIIIIII IIIIIIIIIIII IIIIII IIIIII IIII IIII IIII\n"); printf(" IIII IIII IIII IIII IIII IIII IIIIIII IIIIIII IIII IIII IIII\n"); printf(" IIIII IIIII III III III III IIIIIIII IIIIIIII IIII IIII IIII\n"); printf(" IIIIIIIIIII III III III III IIII IIII IIII IIII IIII IIII IIII\n"); printf(" IIIII IIIII III III III III IIII IIIIIIII IIII IIII IIII IIII\n"); printf(" IIII IIII IIII IIII IIII IIII IIII IIIIII IIII \n"); printf(" IIIII IIIII IIIIIIIIIIII IIIIIIIIIIII IIII IIII IIII IIII IIII IIII\n"); printf(" IIIIIIIIIIII IIIIIIII IIIIIIII IIIIII IIIIII IIII IIII IIII\n"); printf("-------------------------------------------------------------------------------------------\n\n\n"); Sleep(2000); system("cls"); } /* Imprime Campo minado na tela... */ int mostra_campo_minado(){ printf("\n Pontos: %d", marca_pontos); printf("\n\n"); printf(" 1 2 3 4 5 6 7 8 \n"); for(int x=0 ; x<10 ; x++){ if( x > 0 && x <9){ printf(" %d ", x); }else{ printf(" "); } for(int y=0 ; y<10 ; y++){ if(Campo_1[x][y] == 8){ putchar(219); putchar(219); putchar(219); }else if(Campo_2[x][y] == 1){ putchar(32); printf("%d", Campo_1[x][y]); putchar(32); }else{ putchar(32); putchar('*'); putchar(32); } } printf("\n"); } } /* Gera Valores aleatórios para o campo minado... */ int gerar_campo_minado(){ if(para == 0){ for(int x=0 ; x <10 ; x++){ for(int y=0 ; y <10 ; y++){ Campo_1[x][y] = rand()%5; if( x == 0 || x == 9 || y == 0 || y == 9){ Campo_1[x][y] = 8; } } } para++; } } /* Abertura */ void Inicio(){ if(para == 0){ printf("\n"); printf("\n"); printf(" IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII\n"); printf(" IIII IIII IIII\n"); printf(" IIII IIIIII IIII IIIIII IIII\n"); printf(" IIII IIII IIII IIII IIII\n"); printf(" IIII IIII IIII IIII IIII\n"); printf(" IIIIII IIII IIII IIIIII\n"); printf(" IIIIII IIIIIIIIIIIIIIIIIIII IIIIII\n"); printf(" IIIIII IIII IIII IIIIII\n"); printf(" IIII IIII IIII IIII IIII\n"); printf(" IIII IIII IIII IIII IIII\n"); printf(" IIII IIIIII IIII IIIIII IIII\n"); printf(" IIII IIII IIII\n"); printf(" IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII\n"); printf("\n"); for(int load=0; load<100 ; load = load + 1 + rand()%40 ){ printf("Loading %d%% : ", load); for(int pt=0; pt<40 ; pt++){ putchar(219); for(int timer=0; timer < 4000000 ; timer++); } printf("\r"); for(int limpa=0; limpa<100 ; limpa++ ){ putchar(32); } printf("\r"); } system("cls"); } /* Desenvolvido por @ComputaçãoEng*/ }
  2. Olá! criei um jogo básico de campo minado e gostaria que vocês analisassem. Se puderem me dar uma dica, onde adicionar um local para marcar a pontuação ? E se tem algum bug. Obrigado! #include <stdio.h> #include <windows.h> // Protótipos: int gerar_campo_minado(); // Gera e mostra campo minado com valores ocultos, caso sua ativação seja status = "falsa": int verificar_ativacao(); // Se ativação for status = "verdadeira", atualiza campo_2: int mostra_campo_minado();// Imprime o campo atualizado... int Campo_1[10][10]; // Armazena valores gerados de 0 a 5... int Campo_2[10][10]; // Armazena os STATUS (ativado (1), desativado (0))... int main(){ int a; gerar_campo_minado(); mostra_campo_minado(); verificar_ativacao(); system("cls"); printf("\n\n"); printf(" IIIII -MENU- IIII\n"); printf(" II II\n"); printf(" I 1. RESTART I\n"); //Reinicia campo minado... printf(" I 2. CONTINUE I\n"); //Continua o campo minado antes da utima ação... printf(" I 3. SAIR I\n"); //Para o jogo... printf(" II II\n"); printf(" III-I-I-I-I-I-III\n\n Menu: "); scanf("%d", &a); if( a == 1){ for(int x=0; x<10 ; x++){ for(int y=0; y<10 ; y++){ Campo_2[x][y] = 0; } } main(); } if( a == 2){ main(); } if( a == 3){ system("exit"); } system("exit"); } // Se o status for ATIVADO (1), atualiza Campo minado mostrando valor... // Se o valor da coordenada for ZERO (0), então você encontrou uma mina... int verificar_ativacao(){ int x, y; do{ printf("\n Coordenada: "); scanf("%d %d", &x, &y); if(x > 8 || x < 0){ printf("\n VALOR INVALIDO! "); Sleep(2000); system("cls"); mostra_campo_minado(); }else if(Campo_1[x][y] > 0 && Campo_1[x][y] < 5){ Campo_2[x][y] = 1; system("cls"); main(); }else if(Campo_1[x][y] == 0){ printf("\n\n BOOOM !!!"); system("cls"); break; } }while(1); printf("\n\n"); printf(" I-I-I-I-I-I-I-I-I\n"); printf(" III III\n"); printf(" I BOOM !!! I\n"); printf(" I BOOM !!! I\n"); printf(" I BOOM !!! I\n"); printf(" I BOOM !!! I\n"); printf(" III III\n"); printf(" I-I-I-I-I-I-I-I-I\n"); Sleep(2000); } // Imprime Campo minado na tela... int mostra_campo_minado(){ system("cls"); printf("\n\n"); printf(" 1 2 3 4 5 6 7 8 \n"); for(int x=0 ; x<10 ; x++){ if( x > 0 && x <9){ printf(" %d ", x); }else{ printf(" "); } for(int y=0 ; y<10 ; y++){ if(Campo_1[x][y] == 8){ putchar(219); putchar(219); putchar(219); }else if(Campo_2[x][y] == 1){ putchar(32); printf("%d", Campo_1[x][y]); putchar(32); }else{ putchar(32); putchar('*'); putchar(32); } } Sleep(20); printf("\n"); } } // Gera Valores aleatórios para o campo minado... int para=0; int gerar_campo_minado(){ if(para == 0){ for(int x=0 ; x <10 ; x++){ for(int y=0 ; y <10 ; y++){ Campo_1[x][y] = rand()%5; if( x == 0 || x == 9 || y == 0 || y == 9){ Campo_1[x][y] = 8; } } } } para++; }
  3. Ah sim, compreendi. Obrigado! @Ronaldo José
  4. Olá! Alguém pode me dizer se eu posso criar do zero, uma função que, assim como system("cls"), limpe toda a tela ? Se sim, pode me dar um 'rumo', alguma dica de como fazer ?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!