我需要帮助我正在做的游戏:
游戏如下, 有两个球员,' B'和' N' 有一个字符网格。 两个玩家轮流在网格上放置一个字符(B或N取决于他们是谁)。 每次放置一个炭,我都要检查是否存在对称性。例如。存在不同类型的对称性。每个2 * 2,3 * 3和4 * 4正方形中的水平和垂直,包含刚刚放置在此处的字符。在3 * 3对称的情况下,中间行或列不会在对称中发生。
除了对称性之外,我已经完成了所有工作。我在做这些方面有些困难。我有一个关于如何做到这一点的想法,但个别。你们中的任何人都知道如何才能在一种方法中做对称吗?
答案 0 :(得分:0)
类似于你所描述的n大小网格的java代码将类似于:
boolean isHorizontallySymmetrical(char[][] grid, int n){
int across = n / 2;
for(int i = 0; i < n; i++){
int right = 0
for(int left = 0; left < across; left++){
right = n - left - 1;
if(grid[i][left] != grid[i][right]){
return false;
}
}
}
return true;
}
垂直对称函数需要类似的东西。