Ir para conteúdo

POWERED BY:

Arquivado

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

quitZAUMMM

[Código] Jogo da Forca

Recommended Posts

Esta ai um joguinho da forca q eu fiz pra um trabalho de 1º sem.;; não esta modularizado nem nd.. ele grava a palavra secreta num arquivo txt;; bom tirei uma boa nota com esse trabalho :D;;

usuarios como Myho e Kandrade me ajudaram muito para desenvolver esse jogo.

quem quiser opinar sobre alterações pode ficar a vontade.

 

/* Programador: Wilber
Algoritmo: Jogo da Forca
Objetivo: Simular o jogo da forca
Dados de Entrada: A palavra secreta
Dados de Saida: A mensagem se o usuario ganhou ou nao */

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

#define CAMINHO "palavra.txt"

int main(void)
{
FILE *palavra;
char palavra_secreta[100],letra[100],branco[100], dica[50], letra_ten[100], dica2[50];
int vida=7,x,i,p,n,nn,j;
char opcao=' ';
system("cls");
while (opcao != '4')
{
n=1;
system("cls");
textcolor(RED);
printf("============================================================================
==\n");
cprintf("\n							JOGO DA FORCA X \n");
printf("\n==========================================================================
====\n\n");
printf("\t\t\t\tÉÍÍÍ»\n");
printf("\t\t\t\tº   §\n");
printf("\t\t\t\tº  Ú|¿\n");
printf("\t\t\t\tº   |\n");
printf("\t\t\t\tº  Á Á\n");
printf("\t\t\t\tº\n");
printf("\t\t\t\tÈÍÍÍÍÍ͹\n\n");
printf (" 1 - PROGRAMA\n 2 - REGRAS\n 3 - DESENVOLVEDOR\n 4 - FECHA\n\n DIGITE SUA OPCAO: ");
scanf("%c",&opcao);
if(opcao=='1')
{
for(i=0;i<26;i++) letra_ten[i]='';
vida=7;
p=0;
nn=0;
getchar();
system("cls");
if ((palavra = fopen (CAMINHO,"w+")) == NULL )
{
printf ("O arquivo nao pode ser aberto");
exit (1);
}
printf("\n ENTRE COM A PALAVRA SECRETA:\n ");
printf("DIGITE UMA DICA: \n ");
printf("DIGITE UMA DICA EXTRA PARA QUANDO SOBRAR 1 VIDA PARA O PLAYER2: ");
gotoxy(31,2);
palavra_secreta[0] = '\';i=0;
 while (palavra_secreta[i-1] != 13)
	{
		palavra_secreta[i]=getch();
		if (palavra_secreta[i]==8)
		{
			if (i>0)
				i--;
			system("cls");
			printf("\n ENTRE COM A PALAVRA SECRETA: ");
			printf("\n DIGITE UMA DICA: \n ");
			printf("DIGITE UMA DICA EXTRA PARA QUANDO SOBRAR 1 VIDA PARA O PLAYER2: ");
			gotoxy(31,2);
		for(j=0;j<i;j++) printf(" ");
			palavra_secreta[i+1] = '\';
		}else
		{
		printf(" ");
			i++;
		}
	}palavra_secreta[i-1] = '\';
fputs(palavra_secreta, palavra);
if(palavra_secreta[0]=='')
{
palavra_secreta[0]='9';
palavra_secreta[0+1]='\';
}
gotoxy(19,3);
dica[0] = '\';i=0;
 while (dica[i-1] != 13)
	{
		dica[i]=getch();
		if (dica[i]==8)
		{
			if (i>0)
				i--;
			system("cls");
			printf("\n ENTRE COM A PALAVRA SECRETA: ");
			printf("\n DIGITE UMA DICA: \n ");
			printf("DIGITE UMA DICA EXTRA PARA QUANDO SOBRAR 1 VIDA PARA O PLAYER2: ");
			gotoxy(19,3);
		for(j=0;j<i;j++) printf(" ");
			dica[i+1] = '\';
		}else
		{
		printf(" ");
			i++;
		}
	}dica[i-1] = '\';
if (palavra_secreta[0]=='9')
{
dica[0]='B';
dica[1]='u';
dica[2]='g';
dica[3]=' ';
dica[4]='-';
dica[5]=' ';
dica[6]='P';
dica[7]='r';
dica[8]='e';
dica[9]='s';
dica[10]='s';
dica[11]='i';
dica[12]='o ';
dica[13]='n';
dica[14]='e';
dica[15]=' ';
dica[16]='q';
dica[17]='u';
dica[18]='a';
dica[19]='l';
dica[20]='q';
dica[21]='u';
dica[22]='e';
dica[23]='r';
dica[24]=' ';
dica[25]='t';
dica[26]='e';
dica[27]='c';
dica[28]='l';
dica[29]='a';
dica[30]='\';
}
gotoxy(66,4);
dica2[0] = '\';i=0;
 while (dica2[i-1] != 13)
	{
		dica2[i]=getch();
		if (dica2[i]==8)
		{
			if (i>0)
				i--;
			system("cls");
			printf("\n ENTRE COM A PALAVRA SECRETA: ");
			printf("\n DIGITE UMA DICA: \n ");
			printf("DIGITE UMA DICA EXTRA PARA QUANDO SOBRAR 1 VIDA PARA O PLAYER2: ");
			gotoxy(66,4);
		for(j=0;j<i;j++) printf(" ");
			dica2[i+1] = '\';
		}else
		{
		printf(" ");
			i++;
		}
	}dica2[i-1] = '\';
if (palavra_secreta[0]=='9')
{
dica2[0]=' ';
dica2[1]='\';
}
system("cls");
for(i=0;i<strlen(palavra_secreta);i++)
{
branco[i]='_';
branco[strlen(palavra_secreta)] = '\';
}
while(vida>0)
{
if(!strcmp(palavra_secreta,branco)){
system("cls");
printf ("\n VOCE VENCEU!!!\n");
printf (" RESTAVAM AINDA %d VIDA(S)", vida);
printf ("\n A PALAVRA REALMENTE ERA: %s\n\n",palavra_secreta);
vida=0;
system ("pause>>null");
p=1;
}
else
{
if (vida==7)
{
if(n==1)
{
printf(" \n DICA1 = A PALAVRA POSSUI %d CARACTERES", strlen(palavra_secreta));
printf("\n DICA2 = %s\n\n",strupr(dica));
}
printf ("  \t\tÉÍÍÍ»\n");
printf ("   §\t\tº\n");
printf ("  Ú|¿\t\tº\n");
printf ("   |\t\tº			  VIDA = 7\n");
printf ("  Á Á\t\tº\n");
printf ("  \t\tº\n");
printf ("  \t\tÈÍÍÍÍÍ͹\n");
}
printf("\n\n %s\n",branco);
x=0;
fflush(stdin);
printf("\n ENTRE COM UM CARACTER: ");
gets(letra);
if (palavra_secreta[0]=='9')
{vida=0;
p=1;}
if (letra[0]=='') letra[0]=' ';
for(i=0;i<strlen(palavra_secreta);i++)
{
if(letra[0]== palavra_secreta[i])
{
system("cls");
n=0;
printf(" \n DICA1 = A PALAVRA POSSUI %d CARACTERES", strlen(palavra_secreta));
printf("\n DICA2 = %s\n\n",strupr(dica));if (vida==1) {printf(" DICA EXTRA = %s\n\n",strupr(dica2));}
printf(" ACERTOU O CARACTER o/\n\n");
branco[i]=palavra_secreta[i];x++;
}
}
for (i=0;i<strlen(letra_ten);i++)
{
if (letra[0]==letra_ten[i])
{
system ("cls");
n=0;
printf(" \n DICA1 = A PALAVRA POSSUI %d CARACTERES", strlen(palavra_secreta));
printf("\n DICA2 = %s\n\n",strupr(dica));if (vida==1) {printf(" DICA EXTRA = %s\n\n",strupr(dica2));}
printf(" VOCE JA TENTOU ESSE CARACTER!\n\n");
x++;
}
}
if (x>0)
{
letra_ten[nn]=letra[0];nn++;
if (vida==6)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("  Ú|¿\t\tº\n");
printf ("   |\t\tº			  VIDA = 6\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==5)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("  Ú ¿\t\tº   |\n");
printf ("   |\t\tº			  VIDA = 5\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==4)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	¿\t\tº  Ú|\n");
printf ("   |\t\tº			  VIDA = 4\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==3)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	 \t\tº  Ú|¿\n");
printf ("   |\t\tº			  VIDA = 3\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==2)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	 \t\tº  Ú|¿\n");
printf ("	\t\tº   |		  VIDA = 2\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==1)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	 \t\tº  Ú|¿\n");
printf ("	\t\tº   |		  VIDA = 1\n");
printf ("	Á\t\tº  Á\n");
printf ("\t\tº \n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
}
if(x==0)
{
letra_ten[nn]=letra[0];
nn++;
vida--;
system("cls");
n=0;
printf(" \n DICA1 = A PALAVRA POSSUI %d CARACTERES", strlen(palavra_secreta));
printf("\n DICA2 = %s\n\n",strupr(dica));if (vida==1) {printf(" DICA EXTRA = %s\n\n",strupr(dica2));}
printf(" VOCE PERDEU UMA VIDA!\n\n");
if (vida==6)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("  Ú|¿\t\tº\n");
printf ("   |\t\tº			  VIDA = 6\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==5)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("  Ú ¿\t\tº   |\n");
printf ("   |\t\tº			  VIDA = 5\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==4)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	¿\t\tº  Ú|\n");
printf ("   |\t\tº			  VIDA = 4\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==3)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	 \t\tº  Ú|¿\n");
printf ("   |\t\tº			  VIDA = 3\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==2)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	 \t\tº  Ú|¿\n");
printf ("	\t\tº   |		  VIDA = 2\n");
printf ("  Á Á\t\tº\n");
printf ("\t\tº\n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
if (vida==1)
{
printf ("\t\tÉÍÍÍ»\n");
printf ("   \t\tº   §\n");
printf ("	 \t\tº  Ú|¿\n");
printf ("	\t\tº   |		  VIDA = 1\n");
printf ("	Á\t\tº  Á\n");
printf ("\t\tº \n");
printf ("\t\tÈÍÍÍÍÍ͹\n");
}
}
}
}
if (p!=1){
system("cls");
printf("\n\n\n");
printf("  ÉÍÍÍ»							   ________					   \n");
printf("  º   §							.-\"		\"-.				  \n");
printf("  º  Ú|¿						  /			  \\				   \n");
printf("  º   |				_		  |			  |		  _		\n");
printf("  º  Á Á			  ( \\		 |,  .-.  .-.  ,|		 / )	  \n");
printf("  º					> \"=._	 | )(__/  \\__)( |	 _.=\" <	 \n");
printf("  ÈÍÍÍÍÍ͹			(_/\"=._\"=._ |/	 /\\	 \\| _.=\"_.=\"\\_)\n");
printf ("							 \"=._ (_	 ^^	 _)\"_.=\"		   \n");
printf ("								 \"=\\__|IIIIII|__/=\"			   \n");
printf ("								_.=\"| \\IIIIII/ |\"=._			  \n");
printf ("							_.=\"_.=\"\\		  /\"=._\"=._	 _  \n");
printf ("					 ( \\_.=\"_.=\"	 `--------`	 \"=._\"=._/ ) \n");
printf ("					   > _.=\"							\"=._ <	 \n");
printf ("					 (_/									\\_)	 \n");
printf("\n\n\t\t		   VOCE FOI ENFORCADO, FIM DE JOGO!\n\t\t		   A PALAVRA SECRETA ERA: %s\n\n",palavra_secreta);

system ("pause>>null");
printf ("\n\n");
fclose(palavra);
}
}
if (opcao=='2') {
system("cls");
textcolor(RED);
printf ("****************************************************************************
***");
cprintf("\n			  REGRAS	  \n");
printf ("\n**************************************************************************
*****\n\n");
printf("- PLAYER1: ESTE PROGRAMA DIFERENCIA MAISCULAS DE MINUSCULAS E VICE-VERSA\n");
printf("- PLAYER1: NAO APERTE ENTER SEM TER DIGITADO UMA PALAVRA SECRETA\n");
printf("- PLAYER1: EVITE DIGITAR CARACTERES QUE NAO SEJAM LETRAS OU NUMEROS\n");
printf("- PLAYER1: VOCE TERA OPCAO DE DIGITAR DUAS DICAS DA PALAVRA\n");
printf("- PLAYER2: VOCE TERA 7 CHANCES DE ACERTAR A PALAVRA\n");
printf("- PLAYER2: VOCE TERA 2 DICAS INICIAIS, E QUANDO RESTAR 1 VIDA TERA A DICA EXTRA\n");
printf("- PLAYER2: NAO SE PREOCUPE EM REPETIR ALGUM CARACTER\n");
printf("- PLAYER2: RELAXE, NAO A LIMITE DE TEMPO =D\n");
printf("\n\n\t\tBOA DIVERSAOOO =]");
system ("pause>>null");
}
if (opcao=='3') {
system("cls");
textcolor(RED);
printf ("-------------------------------------------------------------------------------\n");
cprintf ("\n\a		 quitZAUMMM\n");
printf ("\n-------------------------------------------------------------------------------\n\n");
textcolor(CYAN);
cprintf (" WILBER quitZAUMMM");
system ("pause>>null");
}
}
printf ("\n\n");
return 0;
}

Obs: tem um monte de lugar q esta assim '\' + na verdade é '\ 0' (tem q ser junto) é pq aki da um bug qnd coloca o '\' junto q ele soh posta o '\'..

 

Espero estar ajudando muitos!!

flw

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.