1
0
Fork 0

feat: add game/grid.go

This commit is contained in:
Henrik Hautakoski 2025-09-14 09:30:16 +02:00
parent 6e21b1fcb2
commit 2a84c7bf6a

32
game/grid.go Normal file
View file

@ -0,0 +1,32 @@
package game
import (
"tetris/engine/graphics"
)
const (
GRID_WIDTH = 10
GRID_HEIGHT = 16
)
type Grid [GRID_WIDTH * GRID_HEIGHT]Block
func (Grid) Width() int32 {
return GRID_WIDTH
}
func (Grid) Height() int32 {
return GRID_HEIGHT
}
func (g Grid) At(x, y byte) Block {
return g[uint16(x)+(uint16(y)*GRID_WIDTH)]
}
func (g Grid) Tile(x, y byte) graphics.Tile {
return g.At(x, y).Tile()
}
func (g *Grid) Set(x, y byte, c Block) {
(*g)[uint16(x)+(uint16(y)*GRID_WIDTH)] = c
}