#include <iostream>
#include <random>
#include <time.h>
using namespace std;
string words[9] = { "pig", "cat", "dog", "fish", "horse", "parrot", "laptop", "water", "football"};
string GenerateWord();
vector<char> SeperateWord(string);
vector<char> HideWord(vector<char>);
void UserGuess(char);
vector<char> hiddenWord;
vector<char> seperatedWord;
string generatedWord;
bool gamewon = false;
int lives = 5;
int main()
{
cout << "Welcome to Hangman, written in C++" << endl;
srand(time(NULL));
generatedWord = GenerateWord();
seperatedWord = SeperateWord(generatedWord);
cout << "Guess this word!" << endl;
hiddenWord = HideWord(seperatedWord);
char userguess;
while (!gamewon) {
cin >> userguess;
UserGuess(userguess);
for (char c : hiddenWord) {
cout << c;
cout << " ";
}
cout << endl << endl;
}
cout << "You Won!" << endl;
}
string GenerateWord() {
string generatedWord;
vector<string> wordList(words, words + sizeof(words) / sizeof(string));
int randomWordIndex = rand() % (int)(wordList.size());
generatedWord = wordList[randomWordIndex];
return generatedWord;
}
vector<char> SeperateWord(string generatedWord) {
vector<char> seperatedWord;
for (char c : generatedWord) {
seperatedWord.push_back(c);
}
return seperatedWord;
}
vector<char> HideWord(vector<char> seperatedWord) {
vector<char> hiddenWord;
for (char c : seperatedWord) {
hiddenWord.push_back('_');
cout << "_ ";
}
cout << endl;
return hiddenWord;
}
void UserGuess(char userGuess)
{
bool guessSuccessful = false;
gamewon = true;
for (int i = 0; i < seperatedWord.size(); i++) {
if (seperatedWord[i] == userGuess) {
hiddenWord[i] = userGuess;
guessSuccessful = true;
}
if (hiddenWord[i] == '_') {
gamewon = false;
}
}
if (guessSuccessful == false) {
printf("\nLives Left %d\n", --lives);
if (lives < 1) {
cout << "You Lose!" << endl;
cout << "The word was.... " << generatedWord << endl;
exit(1);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
HangmanCPP:基于CMD的简单Hangman实现
共6个文件
gitattributes:1个
filters:1个
gitignore:1个
需积分: 5 0 下载量 97 浏览量
2021-02-21
13:01:58
上传
评论
收藏 8KB ZIP 举报
温馨提示
HangmanCPP:基于CMD的简单Hangman实现
资源详情
资源评论
资源推荐
收起资源包目录
HangmanCPP-master.zip (6个子文件)
HangmanCPP-master
.gitignore 6KB
.gitattributes 2KB
HangmanCPP
HangmanCPP.sln 1KB
HangmanCPP
HangmanCPP.vcxproj 7KB
HangmanCPP.cpp 2KB
HangmanCPP.vcxproj.filters 945B
共 6 条
- 1
crazed1987
- 粉丝: 35
- 资源: 4677
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0