私は戦艦ゲームを作っているので、「A10」のようなものを座標関数に渡すと、列を文字にして番号に行かなければなりません。charをintに変換しますか?
Coordinate(std::string coord = "A10")
{
char c = coord[0];
col = c - 16;
int r = atoi((coord.substr(1,2)).c_str());
row = r-1;
};
したがって、この例では、A10を通過すると、COL = 0(A = 0、B = 1、C = 2)及び行= 9
をしなければならない9に等しい行が動作するように思われるが、COL同じく0はしません。
AのAscii値は65 – AurA
です。カスタムリテラルでクラスを拡張できます。私は: 'A10_C'。渡された文字列が正しい形式であることを確認し、それ以外の場合は例外をスローする必要があります。 – Paranaix