escribe un programa en c++ que simule el juego del ahorcado
时间: 2024-09-13 18:19:14 浏览: 45
下面是一个用C++编写的模拟“吊死鬼”(Ahorcado)游戏的程序示例。在这个游戏中,程序会随机选择一个单词,然后用户尝试猜测这个单词中的每个字母。每次猜测错误,程序都会显示“吊死鬼”的一部分身体,如果猜测错误次数过多,游戏结束。
```cpp
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
void inicializarPalabra(wordList &palabras, string &palabra, vector<char> &aciertos, vector<char> &errores) {
srand(time(NULL));
int indice = rand() % palabras.size();
palabra = palabras[indice];
for (char c : palabra) {
aciertos.push_back('x');
}
}
void dibujarAhorcado(const vector<char> &aciertos, const vector<char> &errores) {
cout << "Hombre colgado:" << endl;
cout << " " << endl;
cout << " " << errores.size() << " " << " " << endl;
for (int i = 0; i < aciertos.size(); ++i) {
if (aciertos[i] != 'x') cout << aciertos[i] << " ";
else cout << " ";
}
cout << endl;
}
bool existe(const vector<char> &aciertos, char letra) {
for (char c : aciertos) {
if (c == letra) return true;
}
return false;
}
void adivinarPalabra(string &palabra, vector<char> &aciertos, vector<char> &errores) {
char letra;
cout << "Adivina la palabra: ";
cin >> letra;
if (!existe(aciertos, letra)) {
errores.push_back(letra);
if (errores.size() == 10) {
cout << "Estas muerto, adivina la palabra secreta: " << palabra << endl;
}
} else {
for (int i = 0; i < palabra.size(); ++i) {
if (palabra[i] == letra) {
aciertos[i] = palabra[i];
}
}
}
}
int main() {
vector<string> wordList = {"piano", "rojo", "programacion", "hamburguesa", "informatica"};
string palabra;
vector<char> aciertos;
vector<char> errores;
inicializarPalabra(wordList, palabra, aciertos, errores);
while (aciertos.size() - count(aciertos.begin(), aciertos.end(), 'x') != palabra.size() && errores.size() < 10) {
dibujarAhorcado(aciertos, errores);
adivinarPalabra(palabra, aciertos, errores);
}
if (errores.size() == 10) {
cout << "Has perdido!" << endl;
} else {
cout << "Has ganado!" << endl;
}
return 0;
}
```
这个程序首先定义了一个单词列表,然后随机选择一个单词并初始化正确和错误的字符数组。游戏循环会继续,直到用户猜出所有字母或者错误次数达到10次。每次用户猜测后,都会根据猜测结果更新正确和错误的字符数组,并重新绘制“吊死鬼”的图像。
阅读全文