- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建俄罗斯方 block 并尝试实现一种方法,该方法遍历图 block 的 grid[][] 并检查每行的每一列,从底部开始,向上工作(认为它会更快检查如果我从底部开始,因为那是需要清除大多数行的地方)。
我对此的理解是 - 创建一个双循环,对于每一行,检查该行中的所有列是否已满(不为空)。如果是,我将实现清除(这实际上是设置当前行 = 上面的行)。现在,我只是想输出“Full”。
我的 System.out.println(grid[row][col] + ", " + row + ", " + col);
检查正确显示它从底行开始,然后迭代每一列......但是 if (grid[row][col] != null) {
check 似乎没有停留在那一行......
public void checkBottomFull() {
int columnsFilled = 0;
//loops through rows only after each column has finished
for(int row = grid.length-2; row > 0; row--) {
//loops through all columns per row, then row decrements
for(int col = 0; col < grid[row].length; col++) {
System.out.println(grid[row][col] + ", " + row + ", " + col);
if (grid[row][col] != null) {
columnsFilled++;
if (columnsFilled == grid.length-1) {
System.out.println("full");
}
}
}
}
}
有什么想法吗?
编辑
public void checkBottomFull() {
for(int row = grid.length-1; row >= 0; row--) {
//loops through columns of each individual row
if (isFull(row)) {
System.out.println("full");
clearRow(row);
}
}
}
public boolean isFull(int row) {
for (int col = 0; col < grid[row].length-1; col++) {
if(grid[row][col] == null) {
System.out.println(grid[row][col] + "... " + row + ", " + col);
return false;
}
}
return true;
}
public void clearRow(int row) {
for (int col = 0; col < grid[row].length-1; col++) {
System.out.println("clearing...");
grid[row][col] = grid[row-1][col];
}
}
System.out.println(grid[row][col] + "... " + row + ", " + col);
输出:为什么列不递增?
null... 9, 0
null... 8, 0
null... 7, 0
null... 6, 0
null... 5, 0
null... 4, 0
null... 3, 0
null... 2, 0
null... 1, 0
null... 0, 0
最佳答案
这里有几个问题:
int columnsFilled = 0
移到外部 for 循环中,因为它应该仅检查当前行。就像现在一样,超过第一行后计数将不正确。if (columnsFilled == grid.length-1)
而实际上这应该是 if (columnsFilled == grid[row].length-1)
。您的检查会将填充的列数与行数进行比较,而不是将其与给定行中的列数进行比较。关于Java Tetris - 遍历双数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746805/
我在俄罗斯方 block 中清除行时遇到了一些奇怪的事情...... 如果我将板的宽度和高度设置为相同(10 和 10): board = new Board(10, 10, 35); 由以下因素决定
我正在构建俄罗斯方 block 并尝试实现一种方法,该方法遍历图 block 的 grid[][] 并检查每行的每一列,从底部开始,向上工作(认为它会更快检查如果我从底部开始,因为那是需要清除大多数行
我正在用 Java 构建俄罗斯方 block ,并尝试使用线性代数来旋转由 4 个方 block 组成的方 block 。 我的 friend 正在解释这样做的方法是: 他说: "To clarify
我正在用 Java 构建俄罗斯方块作为一个有趣的副项目,现在正在研究轮换。 我最初是硬编码每个旋转,这被证明是非常乏味的。 话虽如此,我当时打算使用线性代数尝试矩阵旋转,但有人在 Mathematic
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 2年前关闭。 Improve t
我正在为大学做一个俄罗斯方 block 元素。我有大部分功能可以工作,除了一个。预期流程如下: 带有加载游戏按钮的索引页 点击按钮,游戏开始播放背景音频(现在是示例音频) 暂停/玩游戏时音频也应该停止
我已经研究这个问题一段时间了,并且已经画了一个空白,所以希望得到一些帮助。 我正在使用 Python 和 Pygame 制作一个简单的俄罗斯方块克隆。问题是检测已完成行的过程有时会将克隆行添加到新 G
已锁定。这个问题及其答案是locked,因为这个问题是题外话,但具有历史意义。目前不接受新的答案或互动。 基础知识: 考虑以下四格骨牌和空的比赛 field :
我在编写俄罗斯方 block 时无法抓取当前的片段。现在,当我尝试移动一张四格骨牌时,所有四格骨牌都会移动。我已经被这个问题困扰了一段时间,我非常感谢一些帮助。下面是代码片段,我将整个代码放在 jsf
我刚刚接触 Java,我发现了这个关于创建 Java 俄罗斯方 block 游戏的好教程。 我没有导师或导师来帮助我解决这个问题 - 我一直在寻找一位导师或导师:(所以目前我正在自学 java 和 P
您好,我有一个关于在 C++ 中使用 vector 的问题,我正在研究一个通过随机运动模拟粒子在容器中运动的问题。我需要在粒子满足或不满足特定标准时添加和移除粒子,为此我发现 vector 类非常方便
我想通过按空格键来旋转元素,就像俄罗斯方 block 效果一样。但到目前为止我只能旋转一次,而且 position() 方法似乎不像使用键横向移动时那样工作。任何帮助或提示将不胜感激。这是我拥有的:
虽然我标记了这个作业,但它实际上是我自己免费做的一门类(class)。不管怎样,这门类(class)叫做“从 Nand 到俄罗斯方 block ”,我希望这里有人看过或参加过这门类(class),这样
我正在尝试将 Java 中的俄罗斯方 block 游戏作为一个有趣的业余项目。 我的游戏板是一个瓷砖网格: grid = new Tile[高度][宽度]; 在网格内,我创建一个新的 Tile 对象:
我是一名优秀的程序员,十分优秀!