Ir ao conteúdo
  • Cadastre-se

Forca em Devc++


Luiz Phillip

Posts recomendados

Eu estava aprimorando um jogo da forca que eu vi em algum lugar, e tentei colocar tempo nesse jogo. Mas já tentei de várias formas, e o último resultado foi esse:

#include <stdio.h>

#include <conio.h>

#include <iostream>

#include <cstdlib>

#include <time.h>

using namespace std;

void teste (char *v, char *c, char *l, int &a, int &b, int &quant)

{

int j,e=0;

for (j=0;j<quant;j++)

{

if (v[j] == l[0])

{

c[j]=v[j];

a++;

}

else

e++;

}

if (e==quant)

b++;

}

main ()

{

char l[1], p[81],a[81],letras[81],t[81];

int x, z, erro=0,acerto=0,i=0,j,k,quant, w,f;

x=5;

cout<<"Digite uma palavra secreta e aperte enter p/ comecar o jogo"<<endl;

gets(p);

strupr(p);

quant = strlen (p);

system ("cls");

cout<<"A dica e"<<endl;

gets(t);

system ("cls");

cout<<"\n_________"<<endl<<endl<<endl<<endl;

for (w=0;w<quant;w++){

cout<<"_ ";}

cout<<endl<<"digite a letra que deseja tentar"<<endl;

for(z=x;z>=0;z--)

{

cout<<endl<<"Dica: "<<t;

cout<<"\n_________"<<endl<<endl<<endl<<endl;

for (j=0;j<quant;j++)

a[j] = '_';

for (j=0;j<10;j++)

letras[j] = ' ';

while(erro < 6 && acerto < quant)

{

cin >> l;

strupr (l);

do

{

j=1;

for (k=0;k<10;k++)

{

if (l[0] == letras[k])

j=0;

}

if (j==0)

{

cout<<"letra ja digitada, tente novamente";

cin >> l;

}

}

while (j==0);

letras=l[0];

i++;

system ("cls");

teste(p,a,l,acerto,erro, quant);

_sleep(1000);

printf("%d",z);

switch (erro){

case 0: cout<<"_________\n\t \n\n\n";break;

case 1: cout<<"_________\n\t O\n\n\n";break;

case 2: cout<<"_________\n\t O\n\t |\n\n";break;

case 3: cout<<"_________\n\t O\n\t/|\n\n";break;

case 4: cout<<"_________\n\t O\n\t/|\\\n\n"; break;

case 5: cout<<"_________\n\t O\n\t/|\\\n\t/ \n";break;

case 6: cout<<"_________\n\t O\n\t/|\\\n\t/ \\\n";break;

}

for (f=0;f<quant;f++)

cout<<a[f]<<" ";

cout<<endl;

cout<<"Acertos: "<<acerto<<endl<<"Erros: "<<erro<<endl;

cout<<"Letras ja tentadas: "<<letras<<endl<<endl;

cout<<endl<<"Dica: "<<t;

cout<<"\n_________"<<endl<<endl<<endl<<endl;

}

if (erro == 6)

{

cout<<"Jogo Encerrado!"<<endl;

cout<<"Palavra correta:"<<p;

printf("\n");

}

else

cout<<endl<<endl<<"voce venceu!"<<endl;

}

system("PAUSE");

printf("Game Over\n");

return EXIT_SUCCESS;

}

O tempo não passa, não acaba e não trava o jogo. Fora que dá esse erro no jogo, mas o compilamento tá todo certo

gostaria de ajuda...

obrigado

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Já tinha encontrado esse código que você postou, embora pouco identado é um código muito bom.

Quanto as suas modificações, sugiro que marque no código as linhas que você adicionou, não são todos aqui que tem paciência pra ficar analisando o código todo. Como já conheço o original, já sei que ele funcionava bem.

Não entendi o que você queria fazer com o tempo, e nem como tentou, mas as funções que sugiro são:

time(0); //te retorna o tempo atual do sistema

com isso você pode fazer algo do tipo

int tempo1, tempo2,aux;

tempo1=time(0);

//jogo...

tempo2=time(0);

AUX=tempo2-tempo1//a diferença entre os tempo, é o tempo que passou

ae você pode trabalhar com AUX pra controlar o jogo...

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!