【发布时间】:2011-03-27 11:45:19
【问题描述】:
表示四边形平面(一堆正方形)的最基本方法是使用二维数组。
在 C# 中,我们将其声明为 int[,],并且可以使我们的飞机尽可能大:
string[3,3] => tic-tac-toe board (or similar)
string[8,8] => chess or checkers board
要在平面上“移动”一个项目,我们只需将其分配给一个新的“位置”
//using our tic-tac-toe board:
string[0,0] = "x"; //top-left
string[1,1] = "o"; //middle-middle
//to move
string[0,1] = bN; //Black Knight's starting positon
string[2,2] = bN; //Black Knight moves
string[0,1] = String.Empty;
那么,您将如何表示六边形平面(一堆六边形)以及如何处理从一个位置到下一个位置的移动?
注意:这不是纯粹的理论,因为我脑子里有一个小游戏的想法,它需要这种运动,但我不知道该怎么做。我已经查看了这里的其他一些问题,但找不到合适的匹配项......
【问题讨论】:
-
您已经解释了“四边形平面”,但六边形平面到底是什么? 6维平面?或者它是一个二维平面,形状像一个六边形,在斜边上有一堆半方形切片?切片的正方形有可用的位置吗?
-
@Jimmy Hoffa 板示例。 mrlsmath.com/wp-content/uploads/2009/02/hex-game-11x11.gif
-
你提出这个问题真有趣。上周末我刚开始制作一个 2D 六边形瓷砖游戏。