Fazer um programa em C do jogo da forca! (20 PONTOS)
Implemente um programa do jogo da forca utilizando a linguagem C. O jogo
deverá perguntar uma palavra ao usuário. Em seguida, um segundo usuário
tentará adivinhar a palavra informada pelo primeiro usuário. Para adivinhar a
palavra, o segundo usuário deverá informar uma letra até completar a palavra
correta ou até esgotar suas tentativas (máximo de 5 tentativas de erro). Se o
segundo usuário acertar a palavra informada pelo primeiro usuário, este deverá
pontuar 1 ponto, caso contrário o primeiro usuário deverá pontuar 1 ponto. O
jogo termina quando um dos adversários atingir 5 pontos.
Soluções para a tarefa
Está ai, foi muito divertido fazer, espero ter ajudado !
Se não entenderam alguma coisa ou quiserem fazer alguma modificação, só me falar.
#include <bits/stdc++.h>
using namespace std;
int main() {
int j1 = 0, j2 = 0;
while(j1 < 5 && j2 < 5) {
string palavra;
getline(cin, palavra);
int usada[3010];
memset(usada, 0, sizeof(usada));
set<char> acertadas;
for(int i = 0; i < palavra.size(); i++) {
if(palavra[i] >= 'Z') palavra[i] -= 32;
acertadas.insert(palavra[i]);
}
int erros = 0;
while(erros < 5 && acertadas.size() > 0) {
char letra;
cin >> letra;
if(letra >= 'Z') letra -= 32;
if(usada[letra] == 1) printf("Ja foi !");
else if(acertadas.find(letra) == acertadas.end()) {
erros++;
printf("Erooooou!\n");
}
else acertadas.erase(letra);
}
if(erros == 5) {j1++; printf("Jogador 1 ganha a rodada.\n");}
else {j2++; printf("Jogador 2 ganha a rodada\n");}
}
if(j1 == 5) printf("Jogador 1 ganhou !\n");
else printf("Jogador 2 ganhou!\n");
}