21xrx.com
2024-11-25 08:04:31 Monday
登录
文章检索 我的文章 写文章
C++数组基础:编写石头剪刀布游戏程序
2023-07-01 16:01:37 深夜i     --     --
C++ 数组 石头剪刀布 游戏程序 基础

在学习C++语言的过程中,了解和使用数组是非常重要的一部分。在本篇文章中,我们将以石头剪刀布游戏为例,介绍使用数组编写游戏程序的基本方法。

首先,让我们来了解一下石头剪刀布游戏的规则。在游戏中,玩家和计算机进行比赛,每局两人出图案(石头、剪刀或者布),胜负判断规则如下:

1.石头获胜:石头胜剪刀,石头输布;

2.剪刀获胜:剪刀胜布,剪刀输石头;

3.布获胜:布胜石头,布输剪刀。

接下来,让我们编写程序,实现石头剪刀布游戏的功能。我们可以使用一个数组来储存图案(石头、剪刀和布),并随机生成电脑的出拳,最终进行胜负判断。

代码示例:


#include<iostream>

#include<time.h>

using namespace std;

int main()

{

  string gesture[3] = "scissor";//定义一个储存图案的数组

  int computer = 0;

  srand(time(0));//生成不同的随机数

  computer = rand() % 3;//随机生成电脑出拳

  cout << "Please input your gesture (0 for rock, 1 for scissor, 2 for cloth): ";//提示玩家输入出拳

  int player = 0;

  cin >> player;//获取玩家的出拳

  cout << "Your gesture: " << gesture[player] << endl;

  cout << "Computer's gesture: " << gesture[computer] << endl;

  if ((player == 0 && computer == 1) || (player == 1 && computer == 2) || (player == 2 && computer == 0))

  

    cout << "You win!" << endl;//判断胜负

  

  else if ((player == 0 && computer == 2) || (player == 1 && computer == 0) || (player == 2 && computer == 1))

  

    cout << "Computer wins!" << endl;//判断胜负

  

  else

  

    cout << "It's a tie!" << endl;//判断胜负

  

  return 0;

}

在上面的代码中,我们使用了一个包含三个字符串的数组gesture来储存石头剪刀布三个图案。电脑的出拳使用srand和rand两个函数生成不同的随机数,并通过取余3的方式,随机生成0、1、2三个数值作为电脑的出拳。

玩家需要输入他/她的出拳,玩家出拳的值存在变量player中,同时通过数组gesture获取玩家的出拳对应的字符串并输出。

最后,使用if...else语句判断胜负,根据胜负输出不同的结果。

总之,学习并使用C++数组非常重要,无论是编写石头剪刀布游戏还是其他程序,都可以极大地减少代码量,提高程序的可读性和易扩展性。希望本篇文章能让你更好地了解C++数组并熟练掌握使用方法。

  
  

评论区

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