如何用C++在终端上实现猜谜游戏
这篇文章主要为大家展示了“如何用C++在终端上实现猜谜游戏”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何用C++在终端上实现猜谜游戏”这篇文章吧。
公司主营业务:网站建设、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出卫辉免费做网站回馈大家。
安装依赖关系
要跟上本文的步伐,你需要 C++ 和一个编译器。
在 Linux 上,你可以通过从你的发行版软件仓库中安装 Qt Creator IDE 来获得你所需要的一切。
在 Fedora、CentOS 或 RHEL 上:
$ sudo dnf install qt-creator
在 Debian、Ubuntu、Chromebook 或类似的系统上:
$ sudo apt install qtcreator
本文并没有使用 Qt Creator IDE,但它是一个安装你所需要的一切的简单方法,对于复杂的 C++ 项目(包括那些带有 GUI 的项目),它是一个必不可少的工具。在 macOS 或 Windows 上,按照 Qt 网站上的安装说明进行安装。
设置包含和命名空间
C++ 的核心语言是精简的。即使是一个简单的应用程序也需要使用额外的库。这个应用程序使用 iostream 来获得对 cout
和 cin
关键字的访问。
另外,确保程序使用 std
命名空间:
#includeusing namespace std;
这并不是绝对必要,但如果不将命名空间设置为 std
,所有来自 iostream
库的关键字都需要一个命名空间前缀。例如,我不能写作 cout
,而是要写作 std::cout
。
C++ 中的语句以分号结束。
创建一个函数
每个 C++ 应用程序至少需要一个函数。一个 C++ 应用程序的主函数必须称为 main
,它必须返回一个整数(int
),这符合 POSIX 的期望,即一个进程在成功时返回 0,而在失败时返回其他值。你可以通过为它提供返回类型和名称来创建一个新函数。
int main() { // code goes here}
实现程序逻辑
游戏代码必须首先产生一个随机数供玩家猜测。在 C++ 中,你可以通过建立一个用于生成伪随机数的种子来实现。一个简单的种子就是当前的时间。一旦有了种子,你就可以得到一个在 1 和 100 之间的数字。通过调用 rand
函数,并设置上限值 100 来产生一个从 0 到 99 的随机数,所以无论选择了什么数字都要加 1,并将结果分配给一个名为 number
的变量。你还必须声明一个变量来保存玩家的猜测值。为了清楚起见,我称这个变量为 guess
。
这个示例代码还包括一个调试语句,告诉你随机数到底是什么。这对于猜测游戏来说不是很好,但它使测试速度快了很多。以后,你可以删除这一行,或者直接在行前面用 //
注释出来:
srand (time(NULL)); int number = rand() % 100+1; int guess = 0; cout << number << endl; //debug
增加 do-while 和 if 语句
C++ 中的 do-while
语句以关键字 do
开头,并将你希望 C++ 做的所有事情用括号括起来。用 while
关键字结束语句,后面是必须满足的条件(括号内):
do { // code here} while ( number != guess );
游戏代码出现在 if
、else if
和 else
语句之间,为玩家提供提示。
首先,用 cout
语句提示玩家猜测。cout
函数将输出打印到 stdout
上。因为 cout
语句没有连着 endl
(endline)函数,所以没有换行。紧接着这个 cout
语句,通过使用 cin
函数告诉 C++ 等待输入。正如你所猜测的那样,cin
等待来自 stdin
的输入。
接下来,程序进入 if
控制语句。如果玩家的猜测大于 number
变量中包含的伪随机数,那么程序就会打印出一个提示,后面是一个换行符。这就中断了 if
语句,但 C++ 仍然被困在 do-while
循环中,因为它的条件(number
变量等于 guess
)还没有满足。
如果玩家的猜测小于 number
变量中包含的伪随机数,那么程序就会打印出一个提示,后面是一个换行符。这再次中断了 if
语句,但程序仍然被困在 do-while
循环中。
当 guess
等于 number
时,最终满足关键条件,触发 else
语句,do-while
循环结束,程序结束:
do { cout << "Guess a number between 1 and 100: "; cin >> guess; if ( guess > number) { cout << "Too high.\n" << endl; } else if ( guess < number ) { cout << "Too low.\n" << endl; } else { cout << "That's right!\n" << endl; exit(0); } // fi } while ( number != guess );return 0;} // main
构建代码和玩游戏
你可以用 GCC 构建你的应用程序:
$ g++ -o guess.bin guess.cpp
运行二进制文件试试:
$ ./guess.bin74Guess a number between 1 and 100: 76Too high. Guess a number between 1 and 100: 1Too low. Guess a number between 1 and 100: 74That's right!
成功了!
以上是“如何用C++在终端上实现猜谜游戏”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
本文名称:如何用C++在终端上实现猜谜游戏
URL链接:http://hbruida.cn/article/igsepd.html