21xrx.com
2025-03-29 22:45:16 Saturday
文章检索 我的文章 写文章
C++小游戏编程:石头剪刀布
2023-07-06 19:53:18 深夜i     --     --
C++ 小游戏 编程 石头剪刀布 游戏设计

石头剪刀布是一款非常简单又有趣的游戏,几乎让人们在任何时间和地点都可以玩。如果你爱玩石头剪刀布,为什么不尝试一下使用C++语言编写自己的石头剪刀布游戏呢?

在开始编写代码之前,我们需要考虑游戏的逻辑。这个游戏的逻辑很简单。玩家和计算机会同时出拳,如果玩家和计算机出拳的结果一样,这一轮结束并重新开始游戏;如果出拳的结果不一致,则此回合结束,游戏获胜者是本回合获胜的一方。剪刀击败纸,纸击败石头,石头击败剪刀。

代码实现起来也很简单。首先,我们需要引入一个随机数生成器来模拟计算机的出拳行为。其次,我们需要设置一个循环,以便玩家可以持续玩游戏。在每个循环中,我们需要从玩家那里输入出拳的答案,然后使用随机数生成器模拟计算机的出拳行为,比较结果并输出胜利者。

以下是一个简单的实现:

#include <iostream>
#include <ctime>
using namespace std;
// 随机数生成器
int getRandomNumber()
{
  srand(time(nullptr));
  return rand() % 3; // 0代表石头,1代表剪刀,2代表布
}
int main()
{
  char playerAnswer; // 玩家出拳
  int computerAnswer; // 计算机出拳
  bool quit = false; // 是否退出游戏
  while (!quit)
  {
    cout << "请出拳(r代表石头,s代表剪刀,p代表布,q代表结束游戏):" << endl;
    cin >> playerAnswer;
    switch (playerAnswer)
    请重新输入。" << endl;
      continue;
    
    computerAnswer = getRandomNumber();
    if (playerAnswer == 'r' && computerAnswer == 0 ||
      playerAnswer == 's' && computerAnswer == 1 ||
      playerAnswer == 'p' && computerAnswer == 2)
    
      cout << "平局!" << endl;
    
    else if (playerAnswer == 'r' && computerAnswer == 1 ||
         playerAnswer == 's' && computerAnswer == 2 ||
         playerAnswer == 'p' && computerAnswer == 0)
    
      cout << "你赢了!" << endl;
    
    else
    
      cout << "你输了!" << endl;
    
  }
  return 0;
}

在代码结束之后,你就可以在命令行终端上看到自己的石头剪刀布游戏的运行了。现在你已经掌握了如何使用C++语言编写一个简单的游戏,为什么不尝试一下加入更多的功能和特效?祝你好运!

  
  

评论区