【问题标题】:How to choose a random character from an array in C++?如何从 C++ 中的数组中选择一个随机字符?
【发布时间】:2021-12-31 10:25:21
【问题描述】:

我正在制作一个剪刀石头布游戏,其中计算机在每一轮中随机选择一个字符“r”、“p”或“s”。我该怎么做?

char random_array[3] = {'r', 'p', 's'};

【问题讨论】:

标签: c++ arrays random char


【解决方案1】:

最简单的方法是生成一个介于零和数组大小减一之间的随机数。然后,您可以使用该数字作为数组的索引。使用rand() 的示例:

#include <cstdlib>
#include <ctime>

int main()
{
    srand(time(NULL)); // Seed the random number generator

    char random_array[3] = {'r', 'p', 's'};
    unsigned int randomIndex = rand() % 3; // Random number between 0 and 2
    char randomCharacter = random_array[randomIndex];
};

如果你想要真正的随机值,那么有比rand() 更好的选择,但对于一个简单的游戏来说它应该可以正常工作。

【讨论】:

  • 请注意:快速连续运行该程序多次会生成相同的“随机”字符,因为time(NULL) 会在多次调用时返回相同的值来电。没有办法解决这个问题,并且在运行时间比这个更长的程序中这不是问题。 +1。
  • @PeteBecker 正确。虽然在这种情况下,剪刀石头布游戏持续的时间足够长,这不会成为问题,但如果我是 OP,我就不会担心。
猜你喜欢
  • 2020-10-04
  • 2020-11-01
  • 1970-01-01
  • 2017-01-12
  • 2020-03-06
  • 1970-01-01
  • 2010-12-10
  • 2020-02-04
  • 2011-11-13
相关资源
最近更新 更多