Java 中方块游戏相关类的实现与事件模型构建
1. BlockGrid 类的实现与功能
在 Java 编程里, BlockGrid
类承担着定义彩色方块网格的重要职责,它能够容纳并绘制 Block
对象。下面详细阐述其具体实现和功能。
1.1 边界判断
当方块处于以下情况时,会被判定为超出边界:
- 过于靠左( c + blockPos.x < 0
)
- 过于靠右( c + blockPos.x >= getCols()
)
- 过于靠下( r + blockPos.y >= getRows()
)
blockOutOfArea()
方法属于公共方法,无论何时调用都可行。它与 blockOutOfBounds()
方法类似,不过会检查所有边界,包含顶部。若方块有一个方格不在 BlockGrid
的矩阵内,就表明该方块超出了区域范围。这在判断游戏是否结束时十分有用,要是方块“着陆”后仍超出区域(特别是顶部),游戏就会结束,且不会再有方块掉落。
1.2 绘制画面
要绘制 BlockGrid
的状态,可按如下步骤操作:
1. 遍历矩阵的行和列。
2. 若在特定的 matrix[column][row]
索引处存在颜色,就用该颜色填充一个与单元格大小相同的