Gudhu 0 Denunciar post Postado Setembro 8, 2007 foi passado um trabalho pra mim..fazer um jogo de forca em C....eu pensei em faze algo com variaveis "char"mas ai eu teria q fazer uma quantidade de variaveis a,b,c,d,e... x,y,z... dependendo da qntidade de letras da palavra q eu quero..como eu faço pra q nao tenha limites de letras da palavra?uso string?ajudem por favor ! Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Setembro 8, 2007 você pode usar 2 vetores de char, um para guardar a palavra secreta e outro para guardar as letras q o cara esta acertando, e se quiser algo mais legal um terceiro vetor para guardar as letras tentadas. exemplo char palavra_secreta[20]; //achu q 20 letras ta otimo pra uma palavra mas se quiser coloque ai uns 250, seilachar palavra_tentada[20]; // aqui vai guardando conforme vai acertandochar letras_tentadas[26]; // 26 para ter uma posição de A até Z Essa é uma ideia, nao sei se era essa sua duvida... tenta faze alguma coisa ai, se tiver problemas poste ai seu problema Compartilhar este post Link para o post Compartilhar em outros sites
Gudhu 0 Denunciar post Postado Setembro 10, 2007 sim..ateh ai eu tinha pensado..mas tipow..saca soh..printf ("entre com palavra a ser adivinhada:");gets(palavra);while (tentativa!=6){printf("digite uma letra:")gets(try);if(try[0]==palavra[0]){printf("primeira letra eh %s",try[0]);}if(tr[0]==palavra[1]){printf("segunda letra eh %s,try[0]);} ............else{tentativa++;}..eu fiz o programa ateh ai..nao tem algum outro jeito pra fica melhor, q o programa imprima qntas lacunas tem a palavra.. e mostre a posicao delas, qndo for acertando e tal? Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Setembro 10, 2007 As lacunas eh bem simples de implementar. Naquela ideia de 3 vetores, uma para a palavra, outro para guardar as acertadas e outro para guardar as letras tentadas, você pode fazer assim: Depois q ja tiver sido digitada a palavra_secreta, voce tem q saber qual o tamanho dela, para isso pode usar strlen(palavra_secreta) q retorna o tamanho da string ou entao faça um for contando quantas letras até achar o '\'. Agora no vetor onde vai ficar a palavra_tentada você prenche com _ (sublinhado) o numero de posições equivalente ao tamanho da palavra_secreta. Se a palavra for CASA entao no vetor palavra_tentada ele tera q preencher 4 posições do vetor com o _ e ai eh soh mandar imprimir na tela. vo por um exemplo q acho q a explicação ta meio confusa cout << "Digite uma palavra\n";cin >> palavra_secreta;for (int i = 0; i < strlen(palavra_secreta); i++) { palavra[i] = toupper(palavra[i]); palavra_tentada[i] = '_'; } Qualquer coisa posta ai... *** esqueci de dizer q para usar strlen o cabeçalho eh #include <string>, e q o compilador q utilizo é o Dev-cpp Compartilhar este post Link para o post Compartilhar em outros sites
Gudhu 0 Denunciar post Postado Setembro 12, 2007 consegui fazer.. ele tah rodando certo.. porem logo apos as lacunas, aparece alguns caracteres estranhos (omega, pi, etc..) #include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>int main(){char palavra[25],letra[25],lacuna[25];int vida=6,x,i;printf("\n\nentre com palavra secreta:");gets(palavra);clrscr();for(i=0;i<strlen(palavra);i++){lacuna[i]='_';}while(vida>0){ x=0; printf("\n\n%s\n",lacuna); printf("\nentre com UMA letra: "); gets(letra); for(i=0;i<strlen(palavra);i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; x++; } }if(x==0){vida--;printf("\nvc perdeu uma vida!\nvoce tem %d vida(s) restando",vida);}}printf("\n\nVC FOI ENFORCADO, fim de jogo!\n\n\n a palavra secreta era: %s",palavra);getchar();getchar();return 0;} como eu posso arrumar isso ? Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Setembro 12, 2007 Aqui aparece um W ou um = no final hehehe... falta o '\' ja q eh um vetor de caracters. Depois de colocar os '_' tem q por o '\' pra indicar q a string acabou. Bom, eu tambem tive q criar um jogo da forca esse semestre, e ja q você ja esta terminando o seu, vo postar o meu, caso queira alguma dica de algo, estamos ai http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Super_Forca *** OBS Onde esta escrito '\' leia-se BARRA ZERO (q maldição nao poder escrever um simples BARRA ZERO!!!!) Compartilhar este post Link para o post Compartilhar em outros sites
The_Killer_Fan 0 Denunciar post Postado Setembro 25, 2007 é impressão minha ou o programa do amigo ali em cima ta incompleto?testei e quando você digita a palavra certa mesmo assim o programa n encerra..so encerra quando você perde as tentativas.. ae você sempre perde..o q teria q fazer para completá-lo?vlw Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Setembro 25, 2007 Eita... com q palavra você testou? ou foi uma do banco de palavras? Eu mesmo baixei do link q coloquei e nao deu esse erro oO... Unico bug q reparei é as cores na entrada, nao era pra aparecer aquela faixa azul... mas isso eh soh tirar um sinal la. Bom, me diga qual é a palavra q voce testou, pq tentei algumas vezes e se acertava a palavra ele limpa a tela e mostra "Acertou!!! A palavra era (palavra)" Compartilhar este post Link para o post Compartilhar em outros sites
The_Killer_Fan 0 Denunciar post Postado Setembro 25, 2007 não myho... o seu eu baixei e funcionou tudo certinho... ta muito bom..to falando do do Gudhu... compiliei o codigo dele e ta incompleto...da uma olhadinha no do gudhu e se tiver como você falar o q falta alí pra ficar completo...vlw. Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Setembro 26, 2007 Ah, beleza entao.Na época ele nao havia terminado mesmo o programa, e como nao postou mais ja deve ter acabado e completado ele. Realmente, olhando o ultimo codigo dele, nao existe nada q defina "vitoria", olhando bem por cima parece q se acertamos uma letra ela vai para a variavel lacuna, logo basta um strcmp(lacuna,palavra) se retornar q são iguais, coloca la um "Acertou"...Fui Compartilhar este post Link para o post Compartilhar em outros sites
The_Killer_Fan 0 Denunciar post Postado Setembro 26, 2007 ae..eu to acresncetando um ifnu caso:if(strcmp(lacuna,palavra)==0)printf("você acertou");so q ta indo n.. fico todo bugado o prog e imprimindo caracteres estranhos..tem como você fazer um exemplo ae n?se n for só com esse if...vlw Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Setembro 26, 2007 if(!strcmp(palavra,lacuna)) { cout << "\nAcertou\nA palavra era '"<< palavra <<"'\n"; system("PAUSE"); break; } No programa q eu, fiz o teste de vitoria era simples daquele jeito. O break usei pra sair do laço das tentativas. Quanto aos caracteres bugados, falta o sinal de fim de string o '\' (BARRA ZERO). Ou você coloca ele no fim do vetor q quer mostrar, ou em vez de mostrar todo o vetor, mostra Caracter por caracter, limitado pelo tamanho da palavra secreta. int size = strlen(palavra); for (int i = 0; i < size; i++) { cout << lacuna[i] << " "; } size é uma variavel inteira q recebeu a tamanho da palavra secreta, achei mais pratico assim do q chamar a função a cada teste do for. Foi meu primeiro programa em C++ essa forca, meu codigo ta feio d+, mas se mesmo assim quiser dar uma olhada... soh falar. Compartilhar este post Link para o post Compartilhar em outros sites
The_Killer_Fan 0 Denunciar post Postado Setembro 28, 2007 sakei como q é... =] Compartilhar este post Link para o post Compartilhar em outros sites
Mariannedebus 0 Denunciar post Postado Junho 7, 2010 Myho... Preciso desesperadamente de ajuda... Tenho q fazer um jogo da forca na biblioteca allegro pra entregar dia 18 e só consegui fazer o fundo da tela... to desesperada... Me ajude por favor... Obrigada... Compartilhar este post Link para o post Compartilhar em outros sites
dani_machado 0 Denunciar post Postado Junho 14, 2010 da uma olhada no código do tópico "Erro com switch", o ultimo post foi em 29 de abril de 2010, la tem um jogo da forca pronto onde as palavras são colocadas em arquivo e carregadas em uma lista encadeada. Compartilhar este post Link para o post Compartilhar em outros sites
Helio maninho 0 Denunciar post Postado Junho 4, 2011 Olááh...pessoal...tenho que fazer o Jogo da forca, porém sou iniciante no assunto(1ºano)... alguém de vcs podem me ajudar.....Grato!!! Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Junho 4, 2011 Sugiro que não usem gets(). Compartilhar este post Link para o post Compartilhar em outros sites