21xrx.com
2024-12-22 22:16:42 Sunday
登录
文章检索 我的文章 写文章
用C++编写石头剪刀布游戏
2023-06-25 16:04:16 深夜i     --     --
C++ 石头剪刀布 游戏 编写 比较 判断 循环 随机数 用户输入

石头剪刀布游戏,是一款经典的手势游戏。通常,游戏规则是两个人一起参与,互相比出手势,然后根据规则判断输赢,不同的手势会有不同的得分。因为规则简单,易于学习和掌握,所以石头剪刀布游戏一直受到人们的喜欢。

现在,我们可以用C++来编写这个游戏。首先,定义游戏的三种手势,即石头、剪刀和布,可以使用枚举类型:


enum Gesture

SCISSORS;

然后,我们可以使用随机数生成器来产生计算机的手势:


Gesture computerGesture = static_cast<Gesture>(rand() % 3);

在这个例子中,我们使用rand函数来生成一个介于0到2之间的整数,然后通过static_cast转换为枚举类型Gesture。请注意,每个手势都用一个数字表示,其中ROCK=0, SCISSORS=1, PAPER=2。

接下来,让用户输入手势,并通过switch表达式将其转换为Gesture类型:


Gesture userGesture;

int userChoice;

cout << "Please choose a gesture:" << endl;

cout << "0 - rock" << endl;

cout << "1 - scissors" << endl;

cout << "2 - paper" << endl;

cin >> userChoice;

switch (userChoice)

case 0:

  userGesture = ROCK;

  break;

case 1:

  userGesture = SCISSORS;

  break;

case 2:

  userGesture = PAPER;

  break;

default:

  cout << "Invalid input" << endl;

  return 0;

cout和cin用于输入和输出。我们输出三种手势供用户选择,并使用switch将用户的选择转换为Gesture类型。当用户输入无效数据时,我们退出程序。

最后,根据石头剪刀布游戏的规则来计算胜负:


if (computerGesture == userGesture)

cout << "It's a tie!" << endl;

else if ((userGesture == ROCK && computerGesture == SCISSORS) ||

      (userGesture == SCISSORS && computerGesture == PAPER) ||

      (userGesture == PAPER && computerGesture == ROCK))

cout << "You win!" << endl;

else

cout << "You lose!" << endl;

如果计算机和用户选择的手势相同,则是平局。否则,我们根据以下规则决定谁赢谁输:石头打剪刀,剪刀剪纸,纸包石头。上面的代码使用if和else if语句计算输赢,并输出结果。当程序运行结束时,我们可以重新选择手势玩游戏,或者退出游戏。

总之,使用C++编写石头剪刀布游戏是一项简单有趣的任务。通过使用随机数、枚举、switch和if/else语句,我们可以轻松实现这个游戏,并与计算机进行互动。让我们一起享受这个经典的手势游戏带来的乐趣吧!

  
  

评论区

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