站内搜索

搜索

手游源码-游戏源码-棋牌源码资源网-亲测源码-游戏搭建-破解游戏-网站源码-qq技术

100金币/天 购买
100金币/天 购买
100金币/天 购买

如何用C++在终端上实现猜谜游戏?(二)

10

主题

13

帖子

0

金币

红钻会员

Rank: 2

积分
72
发表于 2022-1-8 10:01:47 | 显示全部楼层 |阅读模式
C++ 语言很复杂,但它可以教你很多关于数据类型、内存管理和代码链接的知识。 有几种方法可以学习编程语言。如果您是编码新手,您通常会学习一些基本的计算机编码概念并尝试应用它们。如果您已经知道如何用另一种语言编码简单游戏代码天外神坛,则可以重新学习如何用新语言表达编码概念。 无论哪种情况,学习这些新原理的便捷方法是创建一个简单的猜谜游戏。这迫使您了解语言如何接收输入和发送输出,如何比较数据,如何控制程序流程以及如何使用条件来影响结果。它还确保您了解一种语言如何组织其代码;例如,Lua 或 Bash 可以作为脚本轻松运行,而 Java 需要您创建一个类。 在本文中,我将演示如何用 C++ 在终端上实现猜谜游戏。 安装依赖 为了跟上本文的进度,您需要 C++ 和编译器。 在 Linux 上,您可以通过从发行版的存储库中安装 Qt IDE 来获得所需的一切。 在 或 RHEL 上:

    $ sudo dnf install qt-creator

在 、 、 或类似系统上:

    $ sudo apt install qtcreator

本文不使用 Qt IDE,但它是一种安装所需一切的简单方法,它是复杂 C++ 项目(包括带有 GUI 的项目)的必备工具。在 macOS 或 上,按照 Qt 网站上的安装说明进行安装。 设置包含和命名空间 C++ 的核心语言是紧凑的。即使是一个简单的应用程序也需要使用额外的库。此应用程序用于访问 cout 和 cin 关键字。 另外,确保程序使用 std 命名空间:

    #include 
using namespace std;

这不是绝对必要的,但如果不将命名空间设置为 std,则库中的所有关键字都需要命名空间前缀。例如,我必须写 std::cout,而不是写 cout。 C++ 中的语句以分号结束。 创建一个函数 每个 C++ 应用程序都需要至少一个函数。C++ 应用程序的 main 函数必须调用 main,并且它必须返回一个整数 (int),这符合 POSIX 期望简单游戏代码,即进程在成功时返回 0,在失败时返回一些其他值。您可以通过给它一个返回类型和一个名称来创建一个新函数。

    int main() {
 // code goes here
}

实现程序逻辑 游戏代码必须首先生成一个随机数供玩家猜测。在 C++ 中,您可以通过建立用于生成伪随机数的种子来做到这一点。一个简单的种子是当前时间。一旦你有了种子,你可以得到一个介于 1 和 100 之间的数字。通过调用 rand 函数生成一个从 0 到 99 的随机数,上限为 100,所以无论选择什么数字都会增加 1,结果是分配给一个名为的变量。您还必须声明一个变量来保存玩家的猜测。为了清楚起见,我将此变量称为猜测。 此示例代码还包含一个调试语句,它告诉您随机数实际上是什么。这对于猜谜游戏来说不是很好,但它使测试速度更快。稍后,您可以删除此行,或者在行前使用 // 将其注释掉:

     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 函数将输出打印到 . 因为 cout 语句没有附加到 endl() 函数,所以没有换行符。在这个 cout 语句之后,立即使用 cin 函数告诉 C++ 等待输入。你可以猜到,cin 等待来自标准输入的输入。 接下来,程序进入 if 控制语句。如果玩家的猜测大于变量中包含的伪随机数,则程序会打印一个提示,后跟一个换行符。这打破了 if 语句,但是 C++ 仍然停留在 do-while 循环中,因为它的条件(变量等于猜测)尚未得到满足。 如果玩家的猜测小于包含在变量中的伪随机数,那么程序会打印一个提示,后跟一个换行符。这再次中断了 if 语句,但程序仍然停留在 do-while 循环中。 当guess等于时,key条件终于满足,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.bin
74
Guess a number between 1 and 100: 76
Too high.
Guess a number between 1 and 100: 1
Too low.
Guess a number between 1 and 100: 74
That's right!

有效! 试试 C++ C++ 语言很复杂。为终端编写 C++ 应用程序可以教会你很多关于数据类型、内存管理和代码链接的知识。尝试用 C++ 编写一个有用的实用程序,看看你能找到什么! 通过: 作者:赛斯 题目:译者:wxy 校对:wxy 本文由LCTT原创编译,Linux中国光荣推出
【天外神坛】免责声明及帮助
1.重要:如果遇到隐藏内容回复后显示为代码状态,直接刷新一下页面即可解决此问题。
2.本文部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
3.若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4.如果本站有侵犯、不妥之处的资源,请在网站右边客服联系我们。将会第一时间解决!
5.本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习,不存在任何商业目的与商业用途。
6.本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

老群被封加此新群不迷路。
上个主题 下个主题 快速回复 返回列表 客服中心 搜索 QQ加群
上个主题 下个主题 快速回复 返回列表 客服中心 搜索 QQ加群

QQ|Archiver|小黑屋|天外神坛

湘ICP备2021015333号

Powered by 天外神坛 X3.4 © 2020-2022 天外神坛