C++ 语言很复杂,但它可以教会你很多关于数据类型、内存管理和代码链接的知识。
学习一门编程语言有几种方法。如果你是编码新手,你通常会学习一些基本的计算机编码概念,并尝试应用它们。如果你已经知道如何用另一种语言进行编码,你可以重新学习编码概念在新语言中是如何表达的。
不管是哪种情况,学习这些新原理的便捷方法是创建一个简单的猜谜游戏。这会迫使你了解一门语言如何接收输入和发送输出,如何比较数据,如何控制程序的流程,以及如何利用条件来影响结果。它还确保你知道一门语言是如何组织其代码的;例如,Lua 或 Bash 可以很容易地作为脚本运行,而 Java 则需要你创建一个类。
在本文中,我将演示如何用 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
命名空间:
#include
using 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) { cout