1
0
Fork 0

feat(grid): add ClearFullRows()

This commit is contained in:
Henrik Hautakoski 2025-09-15 08:06:13 +02:00
parent 1d7423d886
commit 2a7f394b7f

View file

@ -31,6 +31,19 @@ func (g *Grid) Set(x, y byte, c Block) {
(*g)[uint16(x)+(uint16(y)*GRID_WIDTH)] = c
}
func (g *Grid) ClearFullRows() byte {
completed := byte(0)
for y := int(g.Height() - 1); y >= 0; y-- {
if g.IsRowFull(byte(y)) {
completed++
g.ClearRow(byte(y))
} else if completed > 0 {
g.MoveRowDown(byte(y), completed)
}
}
return completed
}
func (g *Grid) IsRowFull(y byte) bool {
for x := range byte(g.Width()) {
if g.At(x, y) == BLOCK_EMPTY {