Ir ao conteúdo
  • Cadastre-se

Wxys

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Aqui, comecei a fazer desenvolvi um pouco e travei aqui, to fazendo as funções e testando, nessa agora eu tava fazendo a que ia virar a casa mas antes dele abrir o menu para pedir a coordenada ele abri uma casa qualquer e o console para e ao dar enter fecha.. Esse é o código até agora: #include <math.h>#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#define L 10#define C 10int menu() { int dificuldade; printf("Bem vindo ao campo minado !\n\n As regras sao simples:\n-Se voce revalar uma bomba o jogo acaba !\n-Se colocar uma bandeira so poderar revelar a casa apos retira-la !\n-Ao revelar um espaco vazio os numeros irao indicar se ha bombas ao redor !\n-Se voce revelar todas as casas sem encontrar uma bomba voce ganha !\n\n"); system("pause"); system("cls"); printf("Escolha um nivel de dificuldade:\n 1 - fácil (5 Bombas)\n 2 - Medio (10 Bombas)\n 3 - difícil (20 Bombas)\n\n "); scanf("%d",&dificuldade); while(dificuldade>3 || dificuldade<1){ printf("Opcao invalida, digite novamente !\n\n"); scanf("%d",&dificuldade); } return dificuldade;}void preencher_aleatoriamente(char matriz[L][C]){ int i,j,x,y,cont=0,bombas; srand( (unsigned)time(NULL) ); //Criando a Matriz for(i=0;i<9;i++){ for(j=0;j<9;j++){ if(i==0 && j==0) matriz[i][j]=' '; else matriz[i][j]='0'; } } matriz[1][0]='A'; matriz[2][0]='B'; matriz[3][0]='C'; matriz[4][0]='D'; matriz[5][0]='E'; matriz[6][0]='F'; matriz[7][0]='G'; matriz[8][0]='H'; matriz[0][1]='1'; matriz[0][2]='2'; matriz[0][3]='3'; matriz[0][4]='4'; matriz[0][5]='5'; matriz[0][6]='6'; matriz[0][7]='7'; matriz[0][8]='8'; bombas=menu(); if(bombas==1) bombas=5; else if(bombas==2) bombas=10; else bombas=20; //Colocando as bombas do{ x=(rand()%9); y=(rand()%9); if(matriz[x][y]=='0'){ matriz[x][y]='*'; cont=cont+1; }}while(cont<bombas); }void exibir_matriz(char matriz[L][C]){ int i,j; system("cls"); for(i=0;i<9;i++){ for(j=0;j<9;j++){ printf("%c ",matriz[i][j]); } printf("\n"); }}void matriz_visual(char matriz[L][C]){ int i,j; for(i=0;i<9;i++){ for(j=0;j<9;j++){ if(i==0 && j==0) matriz[i][j]=' '; else matriz[i][j]='#'; } } matriz[1][0]='A'; matriz[2][0]='B'; matriz[3][0]='C'; matriz[4][0]='D'; matriz[5][0]='E'; matriz[6][0]='F'; matriz[7][0]='G'; matriz[8][0]='H'; matriz[0][1]='1'; matriz[0][2]='2'; matriz[0][3]='3'; matriz[0][4]='4'; matriz[0][5]='5'; matriz[0][6]='6'; matriz[0][7]='7'; matriz[0][8]='8';}int menu_jogo(){ int comando; printf("Digite uma opcao:\n 1 Virar casa\n2 Marcar bandeira\n3 Retirar bandeira\n4 Sair\n "); scanf("%d",&comando); return comando;} int coordenada(){ char casa[3]; int i,j,x; printf("Digite a coordenada: "); fgets(casa,3,stdin); if(casa[0]=='A'||casa[0]=='a') i=1; else if(casa[0]=='B'||casa[0]=='b') i=2; else if(casa[0]=='C'||casa[0]=='c') i=3; else if(casa[0]=='D'||casa[0]=='d') i=4; else if(casa[0]=='E'||casa[0]=='e') i=5; else if(casa[0]=='F'||casa[0]=='f') i=6; else if(casa[0]=='G'||casa[0]=='g') i=7; else if(casa[0]=='H'||casa[0]=='h') i=8; if(casa[1]=='1') j=1; else if(casa[1]=='2') j=2; else if(casa[1]=='3') j=3; else if(casa[1]=='4') j=4; else if(casa[1]=='5') j=5; else if(casa[1]=='6') j=6; else if(casa[1]=='7') j=7; else if(casa[1]=='8') j=8; x=(i*10)+j; return x; }void virando_casa(char matriz1[L][C], char matriz2[L][C]){ int casa,i,j; casa=coordenada(); i=casa/10; j=casa%10; if(matriz1[i][j]=='0') matriz2[i][j]=' '; else if(matriz1[i][j]=='*') matriz2[i][j]='*';} void comando(char matriz[L][C]){ }int main(){ char campo_comando[L][C], campo_visual[L][C]; preencher_aleatoriamente(campo_comando); matriz_visual(campo_visual); exibir_matriz(campo_visual); virando_casa(campo_comando,campo_visual); exibir_matriz(campo_visual); system("pause"); }
  2. Não, ele quer que faça no prompt/console(nem sei como se chama) mesmo.. Minha ideia até agora é fazer duas matrizes, uma de comandos e outra que vai ficar sendo printada, ai na e comando a ideia era usa 0 pra livre, 1 pra bomba, 2 pra bandeira e 3 pra bloco virado. Mas ai tem umas paradas que não tenho ideia de como fazer, a disposição das bombas aleatoriamente, a verificação de bombas ao redor, quando não há bomba ao redor e ele vai abrindo até um bloco que tenha bomba ao redor.. Essas paradas tão me travando..
  3. Fala aí! Bom, eu tenho que fazer um campo Minado(8x8) em C como projeto final do semestre, só que é tanta coisa que eu não faço ideia de como começar, poderiam me dar uma luz? Não quero um código, mas se me dessem uma ideia geral de como fazer cada parte e por onde começar me ajudaria muito !! As funções que eu tenho que fazer: -Opção de bombas aleatórias e programadas(O usuário carregaria um arquivo de texto com a posição das bombas) -Opção pra escolher níveis (Fácil/Médio/Difícil - 5/10/15 Bombas) e também opção pra escolher número de bombas(1 a 63) -Opção de marcar bandeira(Se tiver com uma bandeira ele não pode virar até retirar ela) -O funcionamento tem que ser igual ao campo minado clássico, se não virar uma bomba tem que mostrar as bombas ao redor(aqueles números que aparecem) É isso e também não posso usar variáveis globais .

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!