int或char枚举到int,而不是ASCII

Lex*_*con 1 c++ int enums pointers char

我正在玩一个扑克游戏并撞墙.任何帮助都会很棒.

我有12个卡值.值为char2-9或TJQKA(如下所示).我需要将它们传递给一个int数组,以便它们的值被传递(无论是int值还是枚举值)而不是它们的ASCII.

对于下面的例子,我想:

val[5] = {2,5,10,12,11}
Run Code Online (Sandbox Code Playgroud)

代替:

val[5] = {50,53,84,81,74}
Run Code Online (Sandbox Code Playgroud)
enum cardvalues {T=10 , J , Q , K , A}
int val[5];


string value = "25TQJ";

for (int i = 0; i < 5; i++)
{
    val[i] = value[i]; 
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*ach 7

我强烈建议使用地图而不是枚举.

map<char,int> myCardMap;
myCardMap['T'] = 10;
...
val[i] = myCardMap[value[i]];
Run Code Online (Sandbox Code Playgroud)