Ir para conteúdo

POWERED BY:

Arquivado

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

EuToComProblema!

[Resolvido] [Código] Jogo da forca [C]

Recommended Posts

Bom dia galera.

 

Vou colocar o código de 2 jogos que fiz para aula, o primeiro é em C feito nas aulas de programação.

Achei legal o código apesar de ter sido feito a bastante tempo...

O outro é em Delphi então vou postar lá.

 

//autor Erion Dreyer
#include<stdio.h>
#include<conio.h>
main()
{

char pal[40],    //palavra
     tent[1],    //tentativa
     jn[1],      //JogarNovamente
     bon[40];    //boneco
int i,           //para for
    tam,         //tamanho da palavra
    jog,         //jogada pode ter 6 erros antes do termino do programa
    controle,    //valida jogada certa ou errada
    ganha;       //ganha = tam; condiciao de vitoria

clrscr();
jn[0] = 's';
gotoxy(28,1);
printf(">>>>> JOGO DA FORCA <<<<<\n");
while(jn[0] != 'n')
  {
    for(i = 0;i < 40;i++)
      {
	pal[i] = '';
	bon[i] = '';
      }
    jog = 6;
    ganha = 0;
    printf("\nDigite uma palavra:");
    gets(&pal[0]);
    clrscr();
    tam = strlen(&pal[0]);
    printf("\n  ÉÍÍÍÍÍÍÍÍÍÍÍ»");
    printf("\n  º           º");
    printf("\n  º           Ê");
    printf("\n  º");
    printf("\n  º");
    printf("\n  º");
    printf("\n  º");
    printf("\n  º");
    printf("\n  º");
    printf("\n  Ê\n");
    gotoxy(2,20);
    printf("*Observacao: Se houver mais de uma palavra, ‚ necessario colocar o caracter");
    printf(" \n de espaco!");
      for(i = 1;i < tam + 1;i++)
	{
	  gotoxy(20 +i,13);
	  printf("_");
	}

/*
	 faz o jogo realmente acontecer, se jog = 0 perde o jogo
*/

      while(jog > 0)
	{
	  gotoxy(2,15);
	  printf("\nDigite uma letra:");
	  gets(&tent[0]);
	  controle = 0;
	  for(i = 0;i < tam; i++)       //percorre a palavra
	    {
	      if(tent[0] == pal[i] && bon[i] != tent[0])     //valida acertos
		{
		  controle = 1;
		  bon[i] = tent[0];     // se repetir a letra conta como erro
		  ganha = ganha + 1;
		  gotoxy(20 +i +1,13);
		  printf("%c",tent[0]);
		  if(ganha == tam)     //se e ultima letra certa, para tela
		    {
		      getch();
		    }
		}
	    }
	  if(controle != 1)             //conta os erros
	    {
	      jog = jog - 1;
	      switch(jog)              //desenha boneco
		{
		  case 5:
		    gotoxy(15,5);
		    printf("þ");
		    break;
		  case 4:
		    gotoxy(15,6);
		    printf("|");
		    break;
		  case 3:
		    gotoxy(14,6);
		    printf("[");
		    break;
		  case 2:
		    gotoxy(16,6);
		    printf("]");
		    break;
		  case 1:
		    gotoxy(14,7);
		    printf("[");
		    break;
		  case 0:
		    gotoxy(16,7);
		    printf("]");
		    getch();
		    clrscr();
		    printf("\nVoce perdeu!!!");             //derrota
		    printf("\nA palavra era: %s",pal);
		    getch();
		    printf("\nContinuar?(enter/n)");
		    scanf("%c",&jn[0]);
		    break;
		}
	    }
	  if(ganha == tam)                           //testa vitoria
	    {
	      clrscr();
	      printf("\nParabens voce venceu!!!");
	      getch();
	      printf("\nContinuar?(enter/n)");
	      scanf("%c",&jn[0]);
	      break;
	      return(0);
	    }
	}
  }
}

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.