21xrx.com
2025-04-16 15:59:27 Wednesday
文章检索 我的文章 写文章
C++实现剪刀石头布游戏代码
2023-07-08 18:34:00 深夜i     31     0
C++ 剪刀石头布 游戏 代码 实现

剪刀石头布是一款非常经典的游戏,许多人在日常生活中也喜欢玩这个游戏。那么,在这篇文章中,我们来说一下如何使用C++来实现剪刀石头布游戏代码。

首先,我们需要明确游戏的规则。剪刀可以剪石头,石头可以砸剪刀,剪刀和剪刀、石头和石头、布和布互不相胜。接下来,我们需要定义游戏中的三种不同的选择,即剪刀、石头和布,可以使用枚举类型来实现。

enum Choice SCISSORS
;

接着,我们需要编写一个函数来实现游戏的主逻辑。该函数需要从计算机和玩家中随机选择一种选项,并根据上文提到的规则判断哪种选项胜出。判断完胜负后,再将结果输出到屏幕上。

void playGame() {
  srand(time(NULL));
  Choice computer_choice = static_cast<Choice>(rand() % 3);
  Choice player_choice;
  int x;
  cout << "请输入你的选择(剪刀 - 0,石头 - 1,布 - 2):" << endl;
  cin >> x;
  player_choice = static_cast<Choice>(x);
  if (computer_choice == player_choice)
    cout << "平局!" << endl;
   else if ((computer_choice == ROCK && player_choice == SCISSORS) ||
        (computer_choice == PAPER && player_choice == ROCK) ||
        (computer_choice == SCISSORS && player_choice == PAPER))
    cout << "你输了!" << endl;
   else
    cout << "你赢了!" << endl;
  
}

最后,我们可以在主函数中不断调用playGame()函数来进行多轮游戏。完整代码如下:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
enum Choice
  ROCK;
void playGame() {
  srand(time(NULL));
  Choice computer_choice = static_cast<Choice>(rand() % 3);
  Choice player_choice;
  int x;
  cout << "请输入你的选择(剪刀 - 0,石头 - 1,布 - 2):" << endl;
  cin >> x;
  player_choice = static_cast<Choice>(x);
  if (computer_choice == player_choice)
    cout << "平局!" << endl;
   else if ((computer_choice == ROCK && player_choice == SCISSORS) ||
        (computer_choice == PAPER && player_choice == ROCK) ||
        (computer_choice == SCISSORS && player_choice == PAPER))
    cout << "你输了!" << endl;
   else
    cout << "你赢了!" << endl;
  
}
int main() {
  while (true) {
    playGame();
    cout << "是否继续游戏?(是 - y,否 - n):" << endl;
    char c;
    cin >> c;
    if (c == 'n')
      break;
    
  }
  return 0;
}

以上就是使用C++实现剪刀石头布游戏代码的方法,大家可以尝试在自己的电脑上编译并运行这段代码,亲身体验这个有趣的游戏!

  
  

评论区