1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

*****c++ jogo da forca urgente*****

Discussão em 'Programação' iniciada por guimas_lucas, 3 de Dezembro de 2007. (Respostas: 8; Visualizações: 4368)

  1. Alguém me pode ajudar no código do jogo da forca?
    Please help me...:confused::confused::confused::confused::confused:

    Código:
    #include<stdio.h>
    #include<iostream>
    #include<cstdlib>
    usingnamespace std;
    void teste (char *v, char *c, char *LetraTentativa, int &VetorEspaco, int &b, int &quant)
    {
    int j,e=0;
    for (j=0;j<quant;j++){
    if (v[j] == LetraTentativa[0]){
    c[j]=v[j];
    VetorEspaco++;
    }
    else
    e++;
    }
    if (e==quant)
    b++;
    }
    void main ()
    { 
    char LetraTentativa[1], EntradaPalavras[81],VetorEspaco[81],letras[10];
    int erro=0,acerto=0,i=0,j,k,quant, w,f;
    cout<<"Digite uma palavra secreta e prima enter para comecar o jogo"<<endl;
    gets(EntradaPalavras);
    strupr(EntradaPalavras);
    quant = strlen (EntradaPalavras);
    system ("cls");
    cout<<"_________"<<endl<<endl<<endl<<endl;
    for (w=0;w<quant;w++){
    cout<<"_ ";}
    cout<<endl<<"Digite a letra que deseja tentar"<<endl;
    for (j=0;j<quant;j++)
    VetorEspaco[j] = '_';
    for (j=0;j<10;j++)
    letras[j] = ' ';
    while(erro < 6 && acerto < quant)
    { 
    gets(LetraTentativa);
    strupr (LetraTentativa);
    do
    {
    j=1;
    for (k=0;k<10;k++)
    {
    if (LetraTentativa[0] == letras[k])
    j=0;
    }
    if (j==0)
    {
    cout<<"Letra ja digitada, tente novamente";
    gets(LetraTentativa);
    strupr (LetraTentativa);
    } 
    }
    while (j==0);
    letras[i]=LetraTentativa[0];
    i++; 
    system ("cls");
    teste(EntradaPalavras,VetorEspaco,LetraTentativa,acerto,erro, quant);
    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<<VetorEspaco[f]<<" ";
    cout<<endl;
    cout<<"Certas: "<<acerto<<endl<<"Erradas: "<<erro<<endl;
    cout<<"Letras ja tentadas: "<<letras<<endl<<endl;
    cout<<"Digite a letra que deseja tentar: ";
    }
    if (erro == 6)
    {
    cout<<"GAME OVER!"<<endl;
    cout<<"A palavra correcta e:"<<EntradaPalavras;
    }
    else
    cout<<endl<<endl<<"Parabens venceu!"<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    
     
    Última edição pelo moderador: 4 de Dezembro de 2007
  2. HecKel

    HecKel The WORM

    Sugestões:
    1) Identa o código, facilitas a quem te vai ajudar, e reparas melhor em alguns potenciais erros de fecho de chavetas no local errado.
    2) Que erro te está a dar? Que acontece que não é suposto acontecer? Precisamos de mais detalhes para saber como te ajudar ;)
     
  3. Apenas me dá 1 erro:

    - c1010 pergunta-me se eu não me esqueci de adicionar #include <stdafx.h> ao código... Mas ao colocar isto dá-me ainda mais erros.
     
  4. jahred

    jahred Power Member

    e é suposto adivinhar quais são os erros? posta-os aqui, nao?

    um erro rápido é que é using[ESPAÇO]namespace e não tudo junto...

    depois dizes que o main não retorna nada, e depois retorna um EXIT_SUCESS... o melhor é meter o main a retornar um int e depois no fim fazes RETURN 0, ou seja, int main() e no fim return 0.

    depois de corrigires esses erros o programa já te deve correr
     
    Última edição: 3 de Dezembro de 2007
  5. r3pek

    r3pek Power Member

    e akeles
    Código:
    system("cls");
    e
    Código:
    system("pause");
    são feios!
     
  6. Tyran

    Tyran Power Member

    pois, não deves usar comandos do sistemas, porque assim ficas dependente...
    Só uma coisa. edita lá isso que não se percebe o que está a preto, é preciso passar lá com o rato lol
    cumpzz
     
  7. mj2p

    mj2p I'm Cool Cuz I Fold

    Primeio: uns espacitos por entre as linhas do código e alguns comentários não faziam mal a ninguém. Facilita muito a compreensão do código para quem te quer ajudar. Usa e abusa dos comentários. Eles existem para alguma coisa é.

    Segundo: quais são as dúvidas que tens? Que tipo de erros estás a ter? Indica isso aqui para o pessoal te poder ajudar melhor.

    Terceiro: estás a usar o Microsoft Visual Studio? Qual é o editor que estás a usar? Qual a sua versão? Posta aqui toda essa informação importante para te podermos ajudar.

    Vá, cumps
     
  8. greatbunzinni

    greatbunzinni Power Member

    1) isso de void main() não existe. Em C++ só existe int main() e int main(int, char**)
    2) #include <stdafx.h>: isso não existe em C++. Nem em C. É uma muleta que a microsoft decidiu impôr ao pessoal que usava VS. Não passa de mais um cabeçalho que, se bem me lembro, ajuda a usar bibliotecas pré-compiladas de forma a cortar nos tempos de compilação.
    3) como já foi dito, a invocação de outros processos não faz qualquer sentido.
     
  9. jahred

    jahred Power Member

    tipo se não foi ele quem fez o código como é que queria corrigir os erros? vê-se perfeitamente pelos erros que lá tão que ele foi buscar aquilo a net...
     

Partilhar esta Página