如何将 "A1" 样式的行+列规范作为输入?

How do I take in "A1"-style row+column specifications as input?

我正在用 C++ 编写 TicTacToe 游戏。我正在使用二维字符数组将每个玩家的棋子输入到一个正方形中。但是,对于输入,我要求用户输入 A1,这将是 board[0][0] 和游戏板的左上角。我如何允许用户输入 A1 但仍然允许它是 board[0][0] 而无需硬编码?此外,用户可以确定电路板尺寸。最小:3x3,最大:13x16。

(假设棋盘是3x3,最多9x9)

从用户那里获取两个字符,确保第一个是大写字母,第二个是数字,并且它们在正确的范围内。

请注意 - 在您可能使用的大多数平台上 - 如果字符变量 c 的值为 'A''B''C',则表达式c - 'A' 的值为 012,您可以将其用作索引。不过,正如@SomeProgrammerDude 指出的那样,它不是 100% 可移植的代码。

...如果电路板较大,您可能必须允许 multiple-character 指定列和行,并适当地解析它们。当然,c - 'A' 索引只能工作到 'Z'