java - GameLogic,x 连续游戏

标签 java arrays loops multidimensional-array

我正在制作一个游戏,我需要制作一种方法来检查指定的单元格是否是包含相同字符的水平连续单元格序列的一部分。单元序列的长度需要为 l。如果单元格是长度至少为 l 的水平序列的一部分,则为 true,否则为 false。

到目前为止,我发现它会检测指定字符行中的任意位置是否至少有 5 个连续单元格具有相同的字符。有人可以帮忙吗?

最佳答案

您可以简单地使用两个循环(每侧一个)搜索两侧,并检查连续单元格的总和是否确实为 l。大致如下:

public static boolean checkPositionRow(char[][] a, int row, int col, int l) {
    int counter = 1; //starting from 1, because for a[row][col] itself
    char charAtPosition = a[row][col];
   //expand to the right as much as possible
    for (int i = col+1; i < a[row].length && a[row][i] == charAtPosition; i++) counter++;
   //expand to the left as much as possible
    for (int i = col-1; i >= 0 && a[row][i] == charAtPosition; i--) counter++;
    return counter >= l;
}

关于java - GameLogic,x 连续游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13692902/

相关文章:

java - 克服 super 上的重复方法静态引用

php - PHP foreach循环中的多个索引变量

SQL 生成序列号

java - VS 2017无法打开包含文件 'jni.h'

java - ClosestFirstIterator,每个路径的上限为 "max hops"

java - 空对象还是虚拟对象?

php - 检查两个数组中是否存在重复的键/值

javascript - 如何在javascript中根据多个分隔符将字符串拆分为多个数组

c++ - 在 C++ 中从数组函数设置一个数组

perl - 如何检查代码是否由于最后一个命令而退出循环?