Enviado em 20/05/2012 - 16:22h
ola amigos aqui do vol, tudo bem?#include <stdio.h> #include <stdlib.h> void tela (char m[][9], char v[][9], int acerto, int erro){ system("clear"); printf(" +---------------------------++---------------------------+\n"); printf(" | Jogadas || acetos / erros |\n"); printf(" +---------------------------++---------------------------+\n"); printf( " [8]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[8][0],m[8][1],m[8][2],m[8][3],m[8][4],m[8][5],m[8][6],m[8][7],m[8][8], v[8][0],v[8][1],v[8][2],v[8][3],v[8][4],v[8][5],v[8][6],v[8][7],v[8][8] ); printf( " [7]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[7][0],m[7][1],m[7][2],m[7][3],m[7][4],m[7][5],m[7][6],m[7][7],m[7][8], v[7][0],v[7][1],v[7][2],v[7][3],v[7][4],v[7][5],v[7][6],v[7][7],v[7][8] ); printf(" [6]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[6][0],m[6][1],m[6][2],m[6][3],m[6][4],m[6][5],m[6][6],m[6][7],m[6][8], v[6][0],v[6][1],v[6][2],v[6][3],v[6][4],v[6][5],v[6][6],v[6][7],v[6][8] ); printf( "(X)[5]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[5][0],m[5][1],m[5][2],m[5][3],m[5][4],m[5][5],m[5][6],m[5][7],m[5][8], v[5][0],v[5][1],v[5][2],v[5][3],v[5][4],v[5][5],v[5][6],v[5][7],v[5][8] ); printf( " [4]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[4][0],m[4][1],m[4][2],m[4][3],m[4][4],m[4][5],m[4][6],m[4][7],m[4][8], v[4][0],v[4][1],v[4][2],v[4][3],v[4][4],v[4][5],v[4][6],v[4][7],v[4][8] ); printf( " [3]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[3][0],m[3][1],m[3][2],m[3][3],m[3][4],m[3][5],m[3][6],m[3][7],m[3][8], v[3][0],v[3][1],v[3][2],v[3][3],v[3][4],v[3][5],v[3][6],v[3][7],v[3][8] ); printf( " [2]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[2][0],m[2][1],m[2][2],m[2][3],m[2][4],m[2][5],m[2][6],m[2][7],m[2][8], v[2][0],v[2][1],v[2][2],v[2][3],v[2][4],v[2][5],v[2][6],v[2][7],v[2][8] ); printf( " [1]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[1][0],m[1][1],m[1][2],m[1][3],m[1][4],m[1][5],m[1][6],m[1][7],m[1][8], v[1][0],v[1][1],v[1][2],v[1][3],v[1][4],v[1][5],v[1][6],v[1][7],v[1][8] ); printf( " [0]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[0][0],m[0][1],m[0][2],m[0][3],m[0][4],m[0][5],m[0][6],m[0][7],m[0][8], v[0][0],v[0][1],v[0][2],v[0][3],v[0][4],v[0][5],v[0][6],v[0][7],v[0][8] ); printf(" +---------------------------++---------------------------+\n"); printf(" [0][1][2][3][4][5][6][7][8] [0][1][2][3][4][5][6][7][8] \n"); printf(" (Y)\n"); printf(" +---------------+\n"); printf(" ^ | Legenda |\n"); printf(" | +-+-------------+\n"); printf("X| |*| Jogadas |\n"); printf(" +----> |@| Acertos |\n"); printf(" Y |#| Erros | Numero de acertos: %d\n",acerto); printf(" +-+-------------+ Numero de erros: %d\n",erro); } void main (){ char m[9][9]; // m = matriz char v[9][9]; // v = acertos char b[9][9]; // v = alvos int x,y,acerto = 0, erro = 0; for (x = 0; x<=8; x++){ for (y=0; y<=8; y++){ v[x][y]= ' '; m[x][y]= ' '; b[x][y]= ' '; } } //alvos b[2][1]='@';b[7][5]='@';b[0][6]='@';b[2][2]='@';b[6][6]='@';b[1][6]='@'; b[2][3]='@';b[5][7]='@';b[2][6]='@';b[1][0]='@';b[4][8]='@';b[3][6]='@'; b[2][0]='@';b[6][1]='@';b[4][6]='@';b[3][0]='@';b[7][2]='@';b[4][0]='@'; b[8][3]='@'; // //inicio do jogo tela(m,v,acerto,erro); for (;;){ printf("\n [x] = ");scanf("%d",&x); printf("\n [y] = ");scanf("%d",&y); if (b[x][y] == '@'){ m[x][y] = '*';v[x][y] = '@';acerto++; } else { m[x][y] = '*';v[x][y] = '#';erro++; } tela(m,v,acerto,erro); } }
Enviado em 20/05/2012 - 22:30h
opa, valeu...Enviado em 21/05/2012 - 23:47h
opa beleza @felipest9 ... então cara eu não sei programar direite em C, na verdade eu programo em outras linguagens tenho que fazer essas paradinhas pra tentar pegar os comandos do C saca?Enviado em 22/05/2012 - 22:26h
@gokernel então cara eu só fiz essa parada pra estudar estrutura de dados saca? eu estava vendo o lance de matriz por passagem por referencia, acredito que dessa forma fica mais facil e entender, mas o lance da biblioteca grafica é plausível...Enviado em 12/11/2013 - 22:50h
Cara primeiramente parabéns o jogo está uma maravilha.Enviado em 13/11/2013 - 22:15h
ola AlessandraFF18, primeiramente desculpas por demorar a responder…ficando assim char m[9][9]; // m = matriz char v[9][9]; // v = acertos char b[9][9]; // v = alvos
for (x = 0; x<=8; x++){ for (y=0; y<=8; y++){ v[x][y]= ' '; m[x][y]= ' '; b[x][y]= ' '; } }
printf( " [8]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[8][0],m[8][1],m[8][2],m[8][3],m[8][4],m[8][5],m[8][6],m[8][7],m[8][8], v[8][0],v[8][1],v[8][2],v[8][3],v[8][4],v[8][5],v[8][6],v[8][7],v[8][8] );
for (;;){ printf("\n [x] = ");scanf("%d",&x); printf("\n [y] = ");scanf("%d",&y); if (b[x][y] == '@'){ m[x][y] = '*';v[x][y] = '@';acerto++; } else { m[x][y] = '*';v[x][y] = '#';erro++; } tela(m,v,acerto,erro); }
Enviado em 13/11/2013 - 23:19h
tá no rumo, mas ainda dá para melhorar, melhorei dois bugs bobos que vc não tinha achado, seria o caso de a pessoa digitar uma letra por engano no lugar do numero, seu código iria entrar em um loop infinito, e o outro vc não tinha uma opção de saída no código eu coloquei:#include <stdio.h> #include <stdlib.h> void tela (char m[][9], char v[][9], int acerto, int erro){ system("clear"); printf(" +---------------------------++---------------------------+\n"); printf(" | Jogadas || acetos / erros |\n"); printf(" +---------------------------++---------------------------+\n"); printf( " [8]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[8][0],m[8][1],m[8][2],m[8][3],m[8][4],m[8][5],m[8][6],m[8][7],m[8][8], v[8][0],v[8][1],v[8][2],v[8][3],v[8][4],v[8][5],v[8][6],v[8][7],v[8][8] ); printf( " [7]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[7][0],m[7][1],m[7][2],m[7][3],m[7][4],m[7][5],m[7][6],m[7][7],m[7][8], v[7][0],v[7][1],v[7][2],v[7][3],v[7][4],v[7][5],v[7][6],v[7][7],v[7][8] ); printf(" [6]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[6][0],m[6][1],m[6][2],m[6][3],m[6][4],m[6][5],m[6][6],m[6][7],m[6][8], v[6][0],v[6][1],v[6][2],v[6][3],v[6][4],v[6][5],v[6][6],v[6][7],v[6][8] ); printf( "(X)[5]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[5][0],m[5][1],m[5][2],m[5][3],m[5][4],m[5][5],m[5][6],m[5][7],m[5][8], v[5][0],v[5][1],v[5][2],v[5][3],v[5][4],v[5][5],v[5][6],v[5][7],v[5][8] ); printf( " [4]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[4][0],m[4][1],m[4][2],m[4][3],m[4][4],m[4][5],m[4][6],m[4][7],m[4][8], v[4][0],v[4][1],v[4][2],v[4][3],v[4][4],v[4][5],v[4][6],v[4][7],v[4][8] ); printf( " [3]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[3][0],m[3][1],m[3][2],m[3][3],m[3][4],m[3][5],m[3][6],m[3][7],m[3][8], v[3][0],v[3][1],v[3][2],v[3][3],v[3][4],v[3][5],v[3][6],v[3][7],v[3][8] ); printf( " [2]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[2][0],m[2][1],m[2][2],m[2][3],m[2][4],m[2][5],m[2][6],m[2][7],m[2][8], v[2][0],v[2][1],v[2][2],v[2][3],v[2][4],v[2][5],v[2][6],v[2][7],v[2][8] ); printf( " [1]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[1][0],m[1][1],m[1][2],m[1][3],m[1][4],m[1][5],m[1][6],m[1][7],m[1][8], v[1][0],v[1][1],v[1][2],v[1][3],v[1][4],v[1][5],v[1][6],v[1][7],v[1][8] ); printf( " [0]| %c %c %c %c %c %c %c %c %c || %c %c %c %c %c %c %c %c %c |\n", m[0][0],m[0][1],m[0][2],m[0][3],m[0][4],m[0][5],m[0][6],m[0][7],m[0][8], v[0][0],v[0][1],v[0][2],v[0][3],v[0][4],v[0][5],v[0][6],v[0][7],v[0][8] ); printf(" +---------------------------++---------------------------+\n"); printf(" [0][1][2][3][4][5][6][7][8] [0][1][2][3][4][5][6][7][8] \n"); printf(" (Y)\n"); printf(" +---------------+\n"); printf(" ^ | Legenda |\n"); printf(" | +-+-------------+\n"); printf("X| |*| Jogadas |\n"); printf(" +----> |@| Acertos |\n"); printf(" Y |#| Erros | Numero de acertos: %d\n",acerto); printf(" +-+-------------+ Numero de erros: %d\n",erro); printf(" Digite -1 para sair\n"); } void main (){ char m[9][9]; // m = matriz char v[9][9]; // v = acertos char b[9][9]; // v = alvos int x,y,acerto = 0, erro = 0; for (x = 0; x<=8; x++){ for (y=0; y<=8; y++){ v[x][y]= ' '; m[x][y]= ' '; b[x][y]= ' '; } } //alvos b[2][1]='@';b[7][5]='@';b[0][6]='@';b[2][2]='@';b[6][6]='@';b[1][6]='@'; b[2][3]='@';b[5][7]='@';b[2][6]='@';b[1][0]='@';b[4][8]='@';b[3][6]='@'; b[2][0]='@';b[6][1]='@';b[4][6]='@';b[3][0]='@';b[7][2]='@';b[4][0]='@'; b[8][3]='@'; // //inicio do jogo tela(m,v,acerto,erro); for (;;){ printf("\n [x] = ");scanf("%d[0-9]",&x);//antes dava bug se vc digitasse uma letra ou outra coisa que não fosse um numero __fpurge(stdin);//limpa o buffer senão vai congelar seu programa para sempre if(x==-1)//para o código exit(0); printf("\n [y] = "); scanf("%d[0-9]",&y);//antes dava bug se vc digitasse uma letra ou outra coisa que não fosse um numero __fpurge(stdin);//limpa o buffer senão vai congelar seu programa para sempre if(x==-1)//para o codigo exit(0); if ((b[x][y] == '@')&&(x>-1 && x<9)&&(y>-1 && y<9)){ puts("\nif"); m[x][y] = '*'; v[x][y] = '@'; acerto++; x=-2;//previne contra erros caso vc digite uma letra por engano y=-2; } else { if ((x>-1 && x<9)&&(y>-1 && y<9)){ m[x][y] = '*'; v[x][y] = '#'; erro++; } x=-2;//previne contra erros caso vc digite uma letra por engano y=-2; } tela(m,v,acerto,erro); } }
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
O livro "Linux - Guia do Administrador do Sistema (Rubem E. Ferre... (1)
Como redefinir o diretório Home? (2)
Será possível instalar Linux Mint LMDE em Sony Vaio? (16)
Posso instalar usar o grub sem ter linux instalado, para iniciar o win... (2)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (6)