使用具有相同价值的枚举来进行不同的结果?C

Using enums with the same value for different outcomes? C++

本文关键字:结果 枚举      更新时间:2023-10-16

快速问题(也仍然是菜鸟,所以也可能很容易答案..)任何人,我正在从事战舰游戏,我的枚举显示了板子,无论是命中还是错过等等。

 enum class EnemyPiece : char{
    SHIP = '?', // when read this comes out as EMPTY
    HIT = 'X',
    MISS = ' ',
    EMPTY = '?'
 }

目的是,在显示板时,我希望它显示板的枚举,但我不希望玩家知道船只在哪里,所以我希望他们掩盖为空。

有点像,董事会知道那里有一艘船,但显示为空,直到玩家正确地猜测。

edit ::对不起,问题是,如何使枚举显示为空,但是当检查时,枚举实际上是运送的

您必须像

一样编写显示功能
enum class EnemyPiece : char{ SHIP, HIT, MISS, EMPTY };
char getCharForDisplay(EnemyPiece e)
{
    switch (e) {
        case EnemyPiece::SHIP:  return '?';
        case EnemyPiece::EMPTY: return '?';
        case EnemyPiece::HIT:   return 'X';
        case EnemyPiece::MISS:  return ' ';
    }
}