O meu código está muito repetitivo, e eu queria simplificá-lo, provavelmente vou ter de criar dois vetores um para os símbolos e outro para os nomes de tamanho 2, já que eu quero que seja tudo aleatório, não sei como colocar os nomes dentro do vetor dos nomes...
Em baixo o meu código que ainda não tem as condições para definir vitórias e empates, que têm de ser pensadas de forma a serem generalizadas para um jogo avançado(tabuleiro 4*4, 5*5 etc) se puderem também gostaria de ajuda com isso...
void jogo_simples(){
int DIM=3;
int num_aleatorio,l=0;
char nome1[20], nome2[20];
char tabuleiro[DIM][DIM];
int j,i;
printf(" Indique o seu nome: ");
scanf("%s",nome1);
printf(" Indique o nome do adversario:");
scanf("%s", nome2);
for(i=0;i<DIM;i++){
for(j=0;j<DIM;j++){
tabuleiro[j]=' '; } } srand(time(NULL)); for(num_aleatorio=0;num_aleatorio<2; num_aleatorio++){ num_aleatorio=rand()%2+1; if(num_aleatorio==1){ printf("\n O simbolo do %s e': X", nome1); printf("\t O simbolo do %s e': O", nome2); while(l<=9){ printf("\n Indica as coordenadas %s: ", nome2); scanf("%i %i", &i, &j); tabuleiro[j]='O'; l++; for (i=0;i<DIM;i++){ for(j=0; j<DIM; j++){ printf(" %c |", tabuleiro[j]); } printf("\n"); } printf("\n Indica as coordenadas %s: ", nome1); scanf("%i %i", &i, &j); tabuleiro[j]='X'; l++; for (i=0;i<DIM;i++){ for(j=0; j<DIM; j++){ printf(" %c |", tabuleiro[j]); } printf("\n"); } } } else{ printf("\n O simbolo do %s e': O", nome1); printf("\t O simbolo do %s e': X", nome2); while(l<=9){ printf("\n Indica as coordenadas %s: ", nome1); scanf("%i %i", &i, &j); tabuleiro[j]='O'; l++; for (i=0;i<DIM;i++){ for(j=0; j<DIM; j++){ printf(" %c |", tabuleiro[j]); } printf("\n"); } printf("\n Indica as coordenadas %s: ", nome2); scanf("%i %i", &i, &j); tabuleiro[j]='X'; l++; for (i=0;i<DIM;i++){ for(j=0; j<DIM; j++){ printf(" %c |", tabuleiro[j]); } printf("\n"); } } } } printf("\n");
Pergunta
Maria Almeida
O meu código está muito repetitivo, e eu queria simplificá-lo, provavelmente vou ter de criar dois vetores um para os símbolos e outro para os nomes de tamanho 2, já que eu quero que seja tudo aleatório, não sei como colocar os nomes dentro do vetor dos nomes...
Em baixo o meu código que ainda não tem as condições para definir vitórias e empates, que têm de ser pensadas de forma a serem generalizadas para um jogo avançado(tabuleiro 4*4, 5*5 etc) se puderem também gostaria de ajuda com isso...
int DIM=3;
int num_aleatorio,l=0;
char nome1[20], nome2[20];
char tabuleiro[DIM][DIM];
int j,i;
printf(" Indique o seu nome: ");
scanf("%s",nome1);
printf(" Indique o nome do adversario:");
scanf("%s", nome2);
for(i=0;i<DIM;i++){
for(j=0;j<DIM;j++){
tabuleiro[j]=' ';
}
}
srand(time(NULL));
for(num_aleatorio=0;num_aleatorio<2; num_aleatorio++){
num_aleatorio=rand()%2+1;
if(num_aleatorio==1){
printf("\n O simbolo do %s e': X", nome1);
printf("\t O simbolo do %s e': O", nome2);
while(l<=9){
printf("\n Indica as coordenadas %s: ", nome2);
scanf("%i %i", &i, &j);
tabuleiro[j]='O';
l++;
for (i=0;i<DIM;i++){
for(j=0; j<DIM; j++){
printf(" %c |", tabuleiro[j]);
}
printf("\n");
}
printf("\n Indica as coordenadas %s: ", nome1);
scanf("%i %i", &i, &j);
tabuleiro[j]='X';
l++;
for (i=0;i<DIM;i++){
for(j=0; j<DIM; j++){
printf(" %c |", tabuleiro[j]);
}
printf("\n");
}
}
}
else{
printf("\n O simbolo do %s e': O", nome1);
printf("\t O simbolo do %s e': X", nome2);
while(l<=9){
printf("\n Indica as coordenadas %s: ", nome1);
scanf("%i %i", &i, &j);
tabuleiro[j]='O';
l++;
for (i=0;i<DIM;i++){
for(j=0; j<DIM; j++){
printf(" %c |", tabuleiro[j]);
}
printf("\n");
}
printf("\n Indica as coordenadas %s: ", nome2);
scanf("%i %i", &i, &j);
tabuleiro[j]='X';
l++;
for (i=0;i<DIM;i++){
for(j=0; j<DIM; j++){
printf(" %c |", tabuleiro[j]);
}
printf("\n");
}
}
}
}
printf("\n");
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.