21xrx.com
2025-07-10 13:09:04 Thursday
文章检索 我的文章 写文章
C++编写的石头剪刀布游戏模拟程序
2023-07-08 08:30:54 深夜i     33     0
C++编程 石头剪刀布 游戏模拟 程序设计 代码实现

石头剪刀布游戏是很多人小时候玩的游戏,而如今我们也可以通过编程实现这个游戏的模拟。今天我们介绍一款用C++编写的石头剪刀布游戏模拟程序。

首先,我们需要了解一下石头、剪刀和布的对应规则:石头砸剪刀,剪刀剪布,布包石头。在程序中,我们可以使用数字来表示石头、剪刀和布,分别对应0、1和2。

接着,我们需要设计程序的流程。最简单的方式就是要求用户输入自己的出拳手势,然后由程序自动生成并输出电脑的出拳手势,最后对比两者的出拳结果,输出获胜者。下面是程序流程的简化伪代码:

1. 用户输入手势
2. 随机生成电脑手势
3. 对比结果
4. 输出胜者
5. 结束程序

在实现中,我们可以用C++的标准库函数rand()产生随机数,同时在输出过程中使用if语句判断胜负,最后输出胜者的信息。

下面是程序的完整代码:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
  srand(time(NULL)); //设置随机数种子(时间)
  int user_choice, comp_choice; //用户选择和电脑选择
  cout << "石头剪刀布游戏开始!\n" << endl;
  cout << "请出拳:0-石头,1-剪刀,2-布: ";
  cin >> user_choice;
  if (user_choice < 0 || user_choice > 2) //判断输入是否合法
  
    cout << "输入无效" << endl;
    return 0;
  
  comp_choice = rand() % 3; //生成电脑随机选择
  cout << "电脑出拳:";
  switch (comp_choice)
  
  case 0:
    cout << "石头" << endl;
    break;
  case 1:
    cout << "剪刀" << endl;
    break;
  case 2:
    cout << "布" << endl;
    break;
  
  if ((user_choice == 0 && comp_choice == 1) || (user_choice == 1 && comp_choice == 2) || (user_choice == 2 && comp_choice == 0))
  
    cout << "你赢了!" << endl;
  
  else if ((user_choice == 0 && comp_choice == 2) || (user_choice == 1 && comp_choice == 0) || (user_choice == 2 && comp_choice == 1))
  
    cout << "电脑赢了!" << endl;
  
  else
  
    cout << "平局!" << endl;
  
  return 0; //程序结束
}

我们可以通过简单的修改或增加代码,来增强程序的交互性或可玩性。例如,我们可以在用户获胜或失败时输出laughed或cry的表情,或在游戏进行时候添加倒计时限定游戏时间等。总之,C++编写的石头剪刀布游戏模拟程序可以让我们回忆起童年遗落的记忆,同时也能锻炼编程能力和思维能力。

  
  

评论区