如何将“A1”式行+列规格作为输入?

时间:2017-02-05 18:54:22

标签: c++ multidimensional-array input ascii tic-tac-toe

我正在用C ++编写TicTacToe游戏。我正在使用2D角色阵列将每个玩家的棋子输入正方形。但是,对于输入,我要求用户键入A1,它将是棋盘[0] [0]和游戏板的左上角。如何允许用户输入A1,但仍允许在没有硬编码的情况下将其设置为[0] [0]?此外,用户可以确定电路板尺寸。最小值:3x3,最大值:13x16。

1 个答案:

答案 0 :(得分:0)

(假设董事会是3x3,或最多9x9)

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

请注意 - 在您可能正在处理的大多数平台上 - 如果字符变量c具有值'A''B''C',那么表达式{{ 1}}具有值c - 'A'01,您可以将其用作索引。不过,这不是100%可移植的代码,正如@SomeProgrammerDude指出的那样。

...如果电路板较大,您可能必须允许列和行的多字符规范,并适当地解析它们。 <{1}}索引当然会一直运行到2