21xrx.com
2024-11-05 18:53:04 Tuesday
登录
文章检索 我的文章 写文章
C++编写的石头剪刀布游戏模拟程序
2023-07-08 08:30:54 深夜i     --     --
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++编写的石头剪刀布游戏模拟程序可以让我们回忆起童年遗落的记忆,同时也能锻炼编程能力和思维能力。

  
  

评论区

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