Rename Kind -> Tile

This commit is contained in:
Marc Di Luzio 2020-06-07 18:38:46 +01:00
parent 289bab2a7a
commit cb725c96d2
3 changed files with 22 additions and 15 deletions

View file

@ -5,13 +5,10 @@ import (
"log"
)
// Kind represents the type of a tile on the map
type Kind byte
// Chunk represents a fixed square grid of tiles
type Chunk struct {
// Tiles represents the tiles within the chunk
Tiles []Kind `json:"tiles"`
Tiles []Tile `json:"tiles"`
}
// Atlas represents a grid of Chunks
@ -42,7 +39,7 @@ func NewAtlas(size int, chunkSize int) Atlas {
// Initialise all the chunks
for i := range a.Chunks {
a.Chunks[i] = Chunk{
Tiles: make([]Kind, chunkSize*chunkSize),
Tiles: make([]Tile, chunkSize*chunkSize),
}
}
@ -50,7 +47,7 @@ func NewAtlas(size int, chunkSize int) Atlas {
}
// SetTile sets an individual tile's kind
func (a *Atlas) SetTile(v Vector, tile Kind) error {
func (a *Atlas) SetTile(v Vector, tile Tile) error {
chunk := a.ToChunk(v)
if chunk >= len(a.Chunks) {
return fmt.Errorf("location outside of allocated atlas")
@ -66,7 +63,7 @@ func (a *Atlas) SetTile(v Vector, tile Kind) error {
}
// GetTile will return an individual tile
func (a *Atlas) GetTile(v Vector) (Kind, error) {
func (a *Atlas) GetTile(v Vector) (Tile, error) {
chunk := a.ToChunk(v)
if chunk > len(a.Chunks) {
return 0, fmt.Errorf("location outside of allocated atlas")

View file

@ -80,13 +80,13 @@ func TestAtlas_GetSetTile(t *testing.T) {
assert.NoError(t, a.SetTile(Vector{0, 0}, 1))
tile, err := a.GetTile(Vector{0, 0})
assert.NoError(t, err)
assert.Equal(t, Kind(1), tile)
assert.Equal(t, Tile(1), tile)
// Set another tile to 1 and test it
assert.NoError(t, a.SetTile(Vector{5, -2}, 2))
tile, err = a.GetTile(Vector{5, -2})
assert.NoError(t, err)
assert.Equal(t, Kind(2), tile)
assert.Equal(t, Tile(2), tile)
}
func TestAtlas_Grown(t *testing.T) {
@ -107,15 +107,15 @@ func TestAtlas_Grown(t *testing.T) {
tile, err := a.GetTile(Vector{0, 0})
assert.NoError(t, err)
assert.Equal(t, Kind(1), tile)
assert.Equal(t, Tile(1), tile)
tile, err = a.GetTile(Vector{-1, -1})
assert.NoError(t, err)
assert.Equal(t, Kind(2), tile)
assert.Equal(t, Tile(2), tile)
tile, err = a.GetTile(Vector{1, -2})
assert.NoError(t, err)
assert.Equal(t, Kind(3), tile)
assert.Equal(t, Tile(3), tile)
// Grow it again even bigger
err = a.Grow(10)
@ -124,13 +124,13 @@ func TestAtlas_Grown(t *testing.T) {
tile, err = a.GetTile(Vector{0, 0})
assert.NoError(t, err)
assert.Equal(t, Kind(1), tile)
assert.Equal(t, Tile(1), tile)
tile, err = a.GetTile(Vector{-1, -1})
assert.NoError(t, err)
assert.Equal(t, Kind(2), tile)
assert.Equal(t, Tile(2), tile)
tile, err = a.GetTile(Vector{1, -2})
assert.NoError(t, err)
assert.Equal(t, Kind(3), tile)
assert.Equal(t, Tile(3), tile)
}

10
pkg/game/tile.go Normal file
View file

@ -0,0 +1,10 @@
package game
// Tile represents the type of a tile on the map
type Tile byte
const (
TileEmpty = '_'
TileRock = 'o'
)