MOve glyph code into client

This commit is contained in:
Marc Di Luzio 2020-07-19 12:36:48 +01:00
parent 4a89cb9d6e
commit da91d31649
3 changed files with 4 additions and 20 deletions

View file

@ -1,7 +1,6 @@
package atlas
import (
"fmt"
"testing"
"github.com/mdiluz/rove/pkg/maths"
@ -252,21 +251,7 @@ func TestAtlas_GetSetCorrect(t *testing.T) {
func TestAtlas_WorldGen(t *testing.T) {
a := NewChunkAtlas(8)
// Spawn a large world
_, _ = a.QueryPosition(maths.Vector{X: 20, Y: 20})
// Print out the world for manual evaluation
num := 20
for j := num - 1; j >= 0; j-- {
for i := 0; i < num; i++ {
t, o := a.QueryPosition(maths.Vector{X: i, Y: j})
if o.Type != roveapi.Object_ObjectUnknown {
fmt.Printf("%c", ObjectGlyph(o.Type))
} else {
fmt.Printf("%c", TileGlyph(t))
}
}
fmt.Print("\n")
}
}

View file

@ -1,60 +0,0 @@
package atlas
import (
"log"
"github.com/mdiluz/rove/proto/roveapi"
)
// Glyph represents the text representation of something in the game
type Glyph byte
const (
// GlyphGroundRock is solid rock ground
GlyphGroundRock = Glyph('-')
// GlyphGroundGravel is loose rocks
GlyphGroundGravel = Glyph(':')
// GlyphGroundSand is sand
GlyphGroundSand = Glyph('~')
// GlyphRoverLive represents a live rover
GlyphRoverLive = Glyph('R')
// GlyphRockSmall is a small stashable rock
GlyphRockSmall = Glyph('o')
// GlyphRockLarge is a large blocking rock
GlyphRockLarge = Glyph('O')
)
// TileGlyph returns the glyph for this tile type
func TileGlyph(t roveapi.Tile) Glyph {
switch t {
case roveapi.Tile_Rock:
return GlyphGroundRock
case roveapi.Tile_Gravel:
return GlyphGroundGravel
case roveapi.Tile_Sand:
return GlyphGroundSand
}
log.Fatalf("Unknown tile type: %c", t)
return 0
}
// ObjectGlyph returns the glyph for this object type
func ObjectGlyph(o roveapi.Object) Glyph {
switch o {
case roveapi.Object_RoverLive:
return GlyphRoverLive
case roveapi.Object_RockSmall:
return GlyphRockSmall
case roveapi.Object_RockLarge:
return GlyphRockLarge
}
log.Fatalf("Unknown object type: %c", o)
return 0
}