Blue Dark 0 Denunciar post Postado Abril 16, 2009 Bem.. eu fiz um joguinho da forca simples e gostaria da ajuda de vocês pra dizer como o código tá, se dá pra melhora-lo, deixa-lo melhor, ou tem algo desnecessário, etc.. pra assim eu aprender =) O código: /*diretivas do pré-processador*/ #include <stdio.h> #include <stdlib.h> #include <string.h> int quadro_letras(char Letra[],char Palavra_Player[],char Palavra_Secreta[],int *acertos); int quadro_estat(int vida,char Palavra_Secreta[],char Palavra_Player[]); int main(void) { char Palavra_Secreta[50] = {},Palavra_Player[50] = {},Letra[20]; int acertos=1,vida=6,i=0,*ac,st; ac = &acertos; printf("\n\t\t\t-----------------------\n\t\t\t Jogo da Forca\n\t\t\t-----------------------\n\n"); printf("\n\t%c Insira a palavra a ser descoberta: ",26); scanf("%[^\n]%*c",Palavra_Secreta); system("CLS"); while(vida >= 1) { system("CLS"); printf("\n\t\t**************** Jogo da Forca ****************\n"); quadro_letras(Letra,Palavra_Player,Palavra_Secreta,ac); if(acertos==0)vida--; acertos=0; printf("\n\n\t----------------------- Estatisticas -----------------------\n\n"); st = quadro_estat(vida,Palavra_Secreta,Palavra_Player); printf("\n\t------------------------------------------------------------\n\n"); if(st==0 || st==2) { printf("\n\n\t\t----------------\n\t\tPalavra Correta: %s \n\t\t----------------",Palavra_Secreta); break; } else { printf("\n\n\t\tDigite uma letra: "); scanf("%[^\n]%*c",Letra); } } scanf("%*c"); } int quadro_estat(int vida,char Palavra_Secreta[],char Palavra_Player[]) { int i; printf("\t\t%c Vidas: (%d) ",16,vida); for(i=0;i<vida;i++)printf("%c",3); printf("\n\t\t%c Acertos: %d\n",16,strlen(Palavra_Player)); printf("\t\t%c Letras restantes: %d\n",16,strlen(Palavra_Secreta)-strlen(Palavra_Player)); if(vida>0) { if(strcmp(Palavra_Secreta,Palavra_Player) == 0) { printf("\t\t%c Status: %s\n",16,"Salvo"); return 2; } else { printf("\t\t%c Status: %s\n",16,"Aguardando Enforcamento"); return 1; } } else { printf("\t\t%c Status: %s\n",16,"Enforcado"); return 0; } } int quadro_letras(char Letra[],char Palavra_Player[],char Palavra_Secreta[],int* acertos) { int i=0; printf("\n\n\t----------------\n\tPalavra Secreta: "); for(i=0;i < strlen(Palavra_Secreta);i++) { if (Palavra_Secreta[i] == ' ' || Palavra_Secreta[i] == '-') { printf(" %c",Palavra_Secreta[i]); Palavra_Player[i] = Palavra_Secreta[i]; } else { if(Palavra_Secreta[i] == Letra[0] && Palavra_Player[i] != Letra[0]) { printf(" %c",Palavra_Secreta[i]); Palavra_Player[i] = Letra[0]; (*acertos)++; } else { if(Palavra_Player[i] == Palavra_Secreta[i]) printf(" %c",Palavra_Secreta[i]); else printf(" _"); } } } printf("\n\t----------------"); } Desde já obrigado http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Abril 16, 2009 Blue Dark você ja tem um tópico sobre o mesmo assunto e o mesmo programa. Que tal continuar lá? http://forum.imasters.com.br/index.php?showtopic=339780 Compartilhar este post Link para o post Compartilhar em outros sites
Blue Dark 0 Denunciar post Postado Abril 16, 2009 Na verdade não é o mesmo assunto lá era uma dúvida que eu ja tirei e não é o mesmo código porque foi mudado muita coisa O.o.. Nesse tópico queria a opinião sobre o codigo já pronto =| Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 16, 2009 /*diretivas do pré-processador*/ #include <stdio.h> #include <stdlib.h> #include <string.h> Comentário inútil. Retire. int acertos=1,vida=6,i=0,*ac,st; O que vem a ser st?? E ainda tem erro no programa. Compartilhar este post Link para o post Compartilhar em outros sites
Blue Dark 0 Denunciar post Postado Abril 17, 2009 @ import java.Isis A variável st é usada para amarzenar o inteiro retornado pela função quadro_estat para saber se o jogo ja acabou ou não st = quadro_estat(vida,Palavra_Secreta,Palavra_Player); E como aconteceu esse erro o.o?, eu testei aqui e não aconteceu nada e se possível qual pode ser a causa desse erro... Obrigado por responder o tópico =) http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites