21xrx.com
2025-04-17 21:13:44 Thursday
文章检索 我的文章 写文章
石头剪刀布 C++ 代码示例
2023-07-05 12:02:17 深夜i     14     0
石头剪刀布 C++ 代码示例 游戏 随机数

石头剪刀布是一种非常简单且有趣的游戏,也是许多人小时候玩的传统游戏。现在,我们可以用 C++ 语言来编写一个可以玩石头剪刀布的游戏程序。

首先,我们需要使用 C++ 的随机数生成器来生成计算机随机选择的手势,同时也需要用户自己输入手势来与计算机进行对战。

以下是一个示例代码,其中包含了手势的选择、判断胜负以及游戏结束的逻辑。

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
  char userGesture, computerGesture;
  int computerChoice;
  bool isValidInput = false;
  srand(time(NULL));
  cout << "Welcome to the rock-paper-scissors game!\n";
  cout << "Please enter your choice (R for rock, P for paper, S for scissors):\n";
  cin >> userGesture;
  switch(userGesture) {
    case 'R':
    case 'r':
      computerChoice = rand() % 3;
      computerGesture = computerChoice == 0 ? 'R' : (computerChoice == 1 ? 'P' : 'S');
      cout << "You chose rock, and computer chose " << computerGesture << ".\n";
      if(computerGesture == 'R') {
        cout << "It's a tie!\n";
      } else if(computerGesture == 'P') {
        cout << "Computer wins!\n";
      } else {
        cout << "You win!\n";
      }
      break;
    case 'P':
    case 'p':
      computerChoice = rand() % 3;
      computerGesture = computerChoice == 0 ? 'R' : (computerChoice == 1 ? 'P' : 'S');
      cout << "You chose paper, and computer chose " << computerGesture << ".\n";
      if(computerGesture == 'P') {
        cout << "It's a tie!\n";
      } else if(computerGesture == 'S') {
        cout << "Computer wins!\n";
      } else {
        cout << "You win!\n";
      }
      break;
    case 'S':
    case 's':
      computerChoice = rand() % 3;
      computerGesture = computerChoice == 0 ? 'R' : (computerChoice == 1 ? 'P' : 'S');
      cout << "You chose scissors, and computer chose " << computerGesture << ".\n";
      if(computerGesture == 'S') {
        cout << "It's a tie!\n";
      } else if(computerGesture == 'R') {
        cout << "Computer wins!\n";
      } else {
        cout << "You win!\n";
      }
      break;
    default:
      cout << "Invalid input. Please only enter R, P, or S.\n";
      isValidInput = true;
      break;
  }
  if(!isValidInput) {
    cout << "Game over!\n";
  }
  return 0;
}

在这个示例代码中,我们首先定义了两个变量:用户选择的手势和计算机选择的手势。然后,我们使用了一个 `switch`语句来根据用户输入的手势进行判断。

对于每种手势,我们都使用 `rand()`函数来生成一个 0 至 2 之间的随机数,并根据这个数来选择计算机的手势。然后,我们将用户和计算机选择的手势进行比较,判断胜负关系,并输出相应的结果。

最后,我们进行了额外的判断,以确保用户输入的手势正确,最后输出游戏结束的信息。

总的来说,这个示例代码很简单,并且很容易理解。通过这个代码,我们可以编写出一个可以玩石头剪刀布的游戏程序,让我们在工作或学习之余可以轻松放松一下,享受游戏的乐趣。

  
  

评论区

请求出错了