Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Blue Dark

Jogo da Forca

Recommended Posts

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

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

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

7189c.png

f5dcf.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

@ 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.