diff --git a/game/grid.go b/game/grid.go index ffbafee..d59e7ea 100644 --- a/game/grid.go +++ b/game/grid.go @@ -40,6 +40,14 @@ func (g *Grid) IsRowFull(y byte) bool { return true } +func (g *Grid) MoveRowDown(y, num_rows byte) { + w := uint16(g.Width()) + src := uint16(y) * w + dst := uint16(y+num_rows) * w + copy(g[dst:dst+w], g[src:src+w]) + clear(g[src : src+w]) +} + func (g *Grid) ClearRow(y byte) { w := uint16(g.Width()) n := uint16(y) * w