用C++编写一个采用结构化设计方法的游戏程序
时间: 2024-02-03 08:14:46 浏览: 178
好的,下面是一个简单的用C++编写的猜数字游戏程序,采用了结构化设计方法:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
// 生成随机数
int generateRandomNumber(int lowerBound, int upperBound) {
srand(time(NULL));
return rand() % (upperBound - lowerBound + 1) + lowerBound;
}
// 判断猜测数字是否正确
bool isGuessCorrect(int guess, int target) {
return guess == target;
}
// 游戏主逻辑
void playGame() {
int lowerBound = 1, upperBound = 100;
int target = generateRandomNumber(lowerBound, upperBound);
int guess;
int numGuesses = 0;
bool isCorrect = false;
cout << "欢迎来到猜数字游戏!" << endl;
cout << "我已经想好了一个 " << lowerBound << " 到 " << upperBound << " 之间的数字,请开始猜吧!" << endl;
while (!isCorrect) {
cout << "请输入您的猜测: ";
cin >> guess;
if (cin.fail()) {
// 如果用户输入的不是数字,清空缓冲区并重新输入
cin.clear();
cin.ignore(10000, '\n');
cout << "无效的输入,请输入一个数字。" << endl;
continue;
}
numGuesses++;
if (isGuessCorrect(guess, target)) {
cout << "恭喜您,您猜对了!" << endl;
cout << "您一共猜了 " << numGuesses << " 次。" << endl;
isCorrect = true;
} else if (guess < target) {
cout << "您猜的数字太小了,请再试一次。" << endl;
} else {
cout << "您猜的数字太大了,请再试一次。" << endl;
}
}
}
int main() {
playGame();
return 0;
}
```
这个程序使用了三个函数:`generateRandomNumber()`用于生成随机数,`isGuessCorrect()`用于判断猜测数字是否正确,`playGame()`用于实现游戏的主逻辑。程序主要流程如下:
1. 生成一个1到100的随机数。
2. 让用户猜测这个随机数,如果用户输入的不是数字,则提示无效输入并重新输入。
3. 如果用户猜对了,输出恭喜信息和猜测次数,并结束游戏。
4. 如果用户猜错了,告诉用户猜测的数字大小关系,并让用户再次猜测。
这个程序的结构非常清晰,每个函数都有一个明确的任务,并且它们之间的关系也非常清晰。
阅读全文