(Duvidas) Jogo da Forca em C++
Estou começando na programação e tenho algumas dúvidas sobre esse código do jogo da forca:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
char entrada[21]; //Palavra secreta
char letra[1]; //Letra que a pessoa digitou
char letras[30]; //Letras
char secreta[21]; //A letra certa e sua posição
int tam; //O tamanho da palavra vai ser igual a ENTRADA
int i; //(indice) Necessario pq vai usar array
int chances; // Quando acabar elas acaba o jogo
int acertos; // O numero de acertos equivale ao TAM
bool verificacao; // Verifica se a pessoa digitou uma letra certa ou errada
string dica;
chances=6;
tam=0;
i=0;
verificacao=false;
acertos=0;
cout << "O que seu adversario vai adivinhar? " << "\n";
cin >> entrada;
//comando limpar tela
system("cls");
cout << "Dica: ";
cout << dica;
cin >> dica;
// O indice vai percorrer ENTRADA até o /0 (enter) pra verificar se tá certo e a posição
//Char de arrays devem sempre terminar em /0
while(entrada* != '\0') {*
*
i++; // O i vai percorrer a "entrada" de um por um,e que ainda não é o /0*
*
tam++; // Cada palavra certa vai adicionar +1 em TAM, desde que i não seja o enter*
*
}
*
*
**
//Vou preencher a "entrada" com asteristicos e cada palavra certa vai ser -1 asteristico*
*
for(i=0 ; i<21 ; i++) {*
*
//Enquanto i for menor que 21, i de secreta vai aparecer com **
*
}
*
*
**
//Enquanto o jogador tiver chances e acertos diferente de tam, irá aparecer as chances e palavras acertadas na tela*
*
inicio:*
*
while((chances > 0)&&(acertos < tam)){*
*
cout << "Chances Restantes: " << chances << "\n";*
*
cout << "Palavra Secreta: ";*
*
for(i=0 ; i<tam ; i++) {*
*
cout << secreta**;*
*
}*
*
//O jogador vai digitar*
*
cout << "\n\n" << "Digite uma letra: ";*
*
cin >> letra[0]; //Armazenar na posição 0
*
*
**
// Se já tiver usado a letra, goto volta pro o inico*
*
for(i=0 ; i<tam ; i++){*
*
if(letras** == letra[0]) {*
*
system("cls");*
*
cout << "\nLetra ja usada! \n";*
*
goto inicio;*
*
} else {*
*
letras**=letra[0];*
*
}*
*
}
*
*
**
for(i=0 ; i<tam ; i++) {*
*
if(entrada**==letra[0]) {*
*
verificacao=true;*
*
// A letra dá posição vai ser copiada para secreta se for certa*
*
secreta=entrada;*
*
acertos++; // incrementa o total de acertos*
*
}*
*
}*
*
//Se acerto for igual a falso "not acerto = !acerto" diminui o numero de chances*
*
if(!verificacao) {*
*
chances--;*
*
}*
*
verificacao=false;*
*
system("cls");
*
*
**
if(verificacao=false) {*
*
system("cls");*
*
cout << letra[0];*
*
}*
*
}*
*
*
*
if(acertos==tam) {*
*
cout << "O jogador ganhou! ";*
*
} else {*
*
cout << "O jogador perdeu! ";*
*
}
*
*
**
system("pause");*
*
return 0;*
*
}
*
Discussão (1)
Carregando comentários...