C++ 井字棋2024年8月28日 | 阅读 11 分钟 井字游戏是一个简单的双人游戏,如果两位玩家都发挥最佳水平,游戏将始终以平局结束。该游戏也称为“圈叉游戏”或“零和十字”。 井字游戏可以通过计算机或其他设备玩,通常是在纸上画。这个经典游戏为其他游戏(如四子棋)提供了基础。 井字游戏的历史大约在公元前一世纪,罗马帝国曾玩过一个该游戏的原始版本。名称“terni lapilli”表示一次三个鹅卵石。在罗马遗址中发现了覆盖着游戏白垩网格图案的证据。古埃及遗址中也发现了该游戏的证据。 该游戏的英国名称“noughts and crosses”于 1864 年首次出现在印刷品中。“tick-tack-toe”一词于 1884 年首次出现在文学作品中,但它指的是在石板上玩的儿童游戏。 游戏规则
程序分解在这里,我们预定义了一些我们将在游戏中执行的动作。我们将棋盘长度设置为 3,计算机的移动将由“O”表示,人类或用户的移动将由“X”表示。 上述函数即 void showBoard 将演示我们 3X3 棋盘的当前状态,我们已将其初始化为 1 到 9 以表示。 上述函数即 void showInstruction 将演示说明,例如选择一个编号为 1 到 9 的单元格,如下所示并进行游戏。 上述函数即 void initialize 将初始化随机数,以避免出现相同的配置,并且棋盘最初是空的。 此函数即 void declareWinner 将宣布游戏的赢家,无论是计算机赢还是人类赢。 上述函数即 bool rowCrossed 将返回 true 或 false,如果任何一行被玩家的移动穿过。 上述函数即 bool columnCrossed 将返回 true 或 false,如果任何一列被玩家的移动穿过。 上述函数即 bool diagonalCrossed 将返回 true 或 false,如果任何对角线被玩家的移动穿过。 上述函数即 bool gameOver 将返回 true 或 false,如果游戏结束。 上述函数即 void playTictacToe 将是玩井字游戏的主函数。 C++ 中的井字游戏程序输出 Tic-Tac-Toe Choose a cell numbered from 1 to 9 as below and play 1 | 2 | 3 - - - - - - - - 4 | 5 | 6 - - - - - - - - 7 | 8 | 9 - - - - - - - - - - COMPUTER has put a O in cell 6 | | - - - - - - - - | | O - - - - - - - - | | HUMAN has put a X in cell 7 | | - - - - - - - - | | O - - - - - - - - X | | COMPUTER has put a O in cell 5 | | - - - - - - - - | O | O - - - - - - - - X | | HUMAN has put a X in cell 1 X | | - - - - - - - - | O | O - - - - - - - - X | | COMPUTER has put a O in cell 9 X | | - - - - - - - - | O | O - - - - - - - - X | | O HUMAN has put a X in cell 8 X | | - - - - - - - - | O | O - - - - - - - - X | X | O COMPUTER has put a O in cell 4 X | | - - - - - - - - O | O | O - - - - - - - - X | X | O COMPUTER has won 下一主题C++ 中的信用卡验证器 |
椭圆是具有独特属性的几何形状,在数学和现实世界的应用中起着至关重要的作用。本文帮助在 C++ 中计算椭圆的面积。椭圆是一种闭合曲线,其特征与其他几何形状不同。与圆不同,...
阅读 4 分钟
简介:作为概率数据结构的布隆过滤器,提供了一种节省空间的方法来确定一个元素是否属于一个集合。自 1970 年由 Burton Howard Bloom 开发以来,它们已被广泛应用于许多计算机科学和工程领域。布隆过滤器非常有用...
阅读 6 分钟
在本文中,您将学习如何在 C++ 中从单向链表中选择一个随机节点。如果您想从单向链表中选择一个随机节点,您可以遵循以下步骤:定义节点结构:首先在...中建立节点的结构。
阅读 2 分钟
在本文中,我们将讨论它的语法、参数和示例。什么是 static_assert? static_assert 是 C++ 中的内置功能。它允许我们在编译时声明语句。它是在 C++11 版本中引入的。此功能包含两个主要...
阅读 4 分钟
在本文中,我们将通过几个示例讨论如何在 C++ 中计算右侧较小的元素。下面是 N 维无序数组 arr[],由唯一整数组成。我们的目标是创建一个第二数组 count,其中 count 将……
阅读9分钟
当 C++ 编译器遇到它不理解的语句或表达式,或者它没有按照语言规则正确编写时,它通常会产生“Expected unqualified id”错误。“expected unqualified id”错误在 C++ 中通常表示编译器遇到了一个情况...
阅读 4 分钟
与其他动态编程语言相比,C++ 功能强大且灵活。对于那些不了解其在各个方面的好处的人来说,`bind1st` 是最好的选择。本文将讨论 `bind1st`,您将看到它将如何...
阅读 4 分钟
矩阵是基本的数学结构,在计算机科学、工程学、物理学和其他学科中都有应用。矩阵的法线和迹是两个重要的特征。本文将解释矩阵的法线和迹是什么,以及一个计算它们的 C++ 程序。理解法线...
阅读 4 分钟
在大学里,对大量数据进行分析,并将结果用于组织管理。大学管理部门会及时更新学院列表及其不同的专业,以及负责考试和结果的部门……
阅读 13 分钟
假设我们有一个 n 个元素的数组 A。局部最小值是该数组 A[i] 的一个元素,该元素严格小于其两个邻居。如果它严格大于其邻居,它也将是局部最大值。因为 A[0] 和 A[n-1]...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India