c++ - 实现常量。石头、剪刀、布

标签 c++

我在 C++ 上学习石头剪刀布游戏时有一个游戏实例类。我想创建整数常量,它表示游戏中允许的符号数。对于经典的 rsp 游戏,它是 3(石头、剪刀和布),但是有一些有趣的 rcs 游戏扩展带有额外的符号,稍后我将实现它们并扩展我的虚拟游戏。

如何按照良好的编码风格实现相同的常量?我应该创建特殊的私有(private)常量游戏即时类成员还是在命名空间中声明这个常量?也许最好为游戏配置创建特殊类并将此常量、符号类型和其他放在那里?

另一个问题是如何实现易于扩展的游戏规则(石头>剪刀、剪刀>布等)。

最佳答案

class Game {

private:
  enum Sign {
    PAPER,
    SCISSORS,
    ROCK
  };
};

如果你想要一个方便的方法来获取标志的数量:

class Game {

private:
  enum Sign {
    PAPER,
    SCISSORS,
    ROCK,
    NUM_SIGNS
  };
};

NUM_SIGNS 在这种情况下将等于 3。

关于c++ - 实现常量。石头、剪刀、布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13641239/

相关文章:

c++ - 模板整数参数构造函数

c++ - viewrich.cpp 中的调试断言错误

c++ - 将临时绑定(bind)到非常量引用

C++ 静态局部函数与全局函数

c++ - io.h 中的 _write 是阻塞调用吗?

c++ - 访问祖 parent 虚方法

c++ - 为什么线程本地存储没有用页表映射实现?

c++ - <dirent.h> 在 Visual Studio 2010 或 2008 中

c++ - 在 C++ 函数中通过引用返回的目的是什么?

c++读取数组结构问题