21xrx.com
2024-09-19 09:16:45 Thursday
登录
文章检索 我的文章 写文章
C++实现石头剪子布游戏的胜负判断
2023-07-12 16:42:34 深夜i     --     --
C++ 石头剪子布 游戏 胜负判断 实现

石头剪子布是一款非常简单的游戏,经常被用来作为人机互动或者互联网联机的题材。在游戏中,玩家可以出三种手势:石头、剪子、布,而游戏的规则是石头可以战胜剪子,剪子可以战胜布,布可以战胜石头,最后的胜利者则是结果评定中赢得最多次数的玩家。

实现石头剪子布游戏的胜负判断可以用C++编写,以下是具体步骤:

1.声明三个变量分别代表玩家出的手势,对手出的手势,和本轮胜负的结果。这些变量应该被定义为整数类型。

2.让玩家输入对应的数字,例如0代表石头,1代表剪子,2代表布。这可以通过使用输入流进行实现。

3.随机生成一个数字作为对手出的手势,并将其存储在变量中。这可以通过使用C++的随机数生成函数来实现。

4.使用控制流和条件语句比较两个手势的胜负,将胜负结果存储在前面定义的结果变量中。例如,如果玩家出石头,对手出剪子,则结果是玩家胜利,结果变量应该被赋值为1。

5.输出游戏结果。如果结果是玩家获胜,则输出“你赢了!”; 如果结果是平局,则输出“平局”; 如果结果是玩家失败,则输出“你输了”。

假如我们将上述步骤都串联起来,可以编写如下的C++代码:


#include <iostream>

#include <stdlib.h> //需要用到rand函数

using namespace std;

int main() {

  int playerHand, computerHand, result; //声明变量

  cout << "欢迎来到石头剪子布游戏!" << endl;

  cout << "请出拳:0代表石头,1代表剪子,2代表布" << endl;

  cin >> playerHand; //玩家出手势

  srand(time(0)); //设置随机数种子

  computerHand = rand() % 3; //对手出手势

  if ((playerHand == 0 && computerHand == 1) ||

    (playerHand == 1 && computerHand == 2) ||

    (playerHand == 2 && computerHand == 0)) //玩家获胜

    result = 1;

   else if ((playerHand == 0 && computerHand == 2) ||

        (playerHand == 1 && computerHand == 0) ||

        (playerHand == 2 && computerHand == 1)) //玩家失败

    result = -1;

   else //平局

    result = 0;

  

  if (result == 1) //输出游戏结果

    cout << "你赢了!" << endl;

   else if (result == 0)

    cout << "平局" << endl;

   else

    cout << "你输了" << endl;

  

  return 0;

}

通过运行这个程序,我们可以看到熟悉的石头剪子布游戏出现在电脑屏幕中,并获得胜负的结果。而此程序也具有现代计算机程序所需要的规范:变量定义、输入输出、条件语句等。如今,不论是在机房里还是在网络世界中,我们都可以轻易地在电脑上实现石头剪子布游戏并享受其中的乐趣。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复