我正在用C++创建一个Tetris克隆,并且有一个枚举GameProperty
,其指定如下:
enum GameProperty {
NUM_OF_TETROMINOES = 7,
NUM_OF_TILES = 4,
TETROMINO_ROTATIONS = 4
};
就我而言,我仅在遍历tetromino的图块时使用这些值,例如:
for (int i = 0; i < TETROMINO_TILES; i++) { }
在任何情况下都认为拥有多个具有相同值的枚举数是否被视为不良做法?
最佳答案
这些不应是单个enum
中的值。它们应该是单独的常量。要了解原因,请查看类似于i < TETROMINO_TILES
的代码。比较将integer
与可以具有GameProperty
之类的值的TETROMINO_ROTATIONS
进行比较。这是没有意义的。