drawing hover stone
This commit is contained in:
parent
3cf9d57277
commit
2a063ebcd5
Binary file not shown.
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 324 B |
2
go.mod
2
go.mod
|
@ -8,6 +8,6 @@ require git.danitheskunk.com/squishy/blooblib v0.0.0-00010101000000-000000000000
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/askeladdk/aseprite v0.0.4 // indirect
|
github.com/askeladdk/aseprite v0.0.4 // indirect
|
||||||
github.com/veandco/go-sdl2 v0.4.38 // indirect
|
github.com/veandco/go-sdl2 v0.5.0-alpha.4.0.20240323054118-79669ab74d94 // indirect
|
||||||
golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81 // indirect
|
golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81 // indirect
|
||||||
)
|
)
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -1,8 +1,8 @@
|
||||||
github.com/askeladdk/aseprite v0.0.4 h1:/k1VTiDkPORnrzonUUV5oXWwdHBoYjIIYJ1K/PupNMU=
|
github.com/askeladdk/aseprite v0.0.4 h1:/k1VTiDkPORnrzonUUV5oXWwdHBoYjIIYJ1K/PupNMU=
|
||||||
github.com/askeladdk/aseprite v0.0.4/go.mod h1:lVW4EwZ7lgQjeHp7MhYj1NII5a/yLYyvAo7COPIn3WY=
|
github.com/askeladdk/aseprite v0.0.4/go.mod h1:lVW4EwZ7lgQjeHp7MhYj1NII5a/yLYyvAo7COPIn3WY=
|
||||||
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/veandco/go-sdl2 v0.4.38 h1:lx8syOA2ccXlgViYkQe2Kn/4xt+p9mdd1Qc/yYMrmSo=
|
github.com/veandco/go-sdl2 v0.5.0-alpha.4.0.20240323054118-79669ab74d94 h1:7Ay2TWWqg2J4mqPj6vgbg9ib7OzO37szAnQ48MmdD/Y=
|
||||||
github.com/veandco/go-sdl2 v0.4.38/go.mod h1:OROqMhHD43nT4/i9crJukyVecjPNYYuCofep6SNiAjY=
|
github.com/veandco/go-sdl2 v0.5.0-alpha.4.0.20240323054118-79669ab74d94/go.mod h1:OROqMhHD43nT4/i9crJukyVecjPNYYuCofep6SNiAjY=
|
||||||
golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81 h1:6R2FC06FonbXQ8pK11/PDFY6N6LWlf9KlzibaCapmqc=
|
golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81 h1:6R2FC06FonbXQ8pK11/PDFY6N6LWlf9KlzibaCapmqc=
|
||||||
golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
|
golang.org/x/exp v0.0.0-20240318143956-a85f2c67cd81/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ=
|
||||||
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||||
|
|
|
@ -45,3 +45,16 @@ func (bs *BoardState) Clear() {
|
||||||
func (bs *BoardState) Draw(target *Image) {
|
func (bs *BoardState) Draw(target *Image) {
|
||||||
target.DrawTilemap(bs.tilemap, Vec2i{X: 10 * 16, Y: 1 * 16})
|
target.DrawTilemap(bs.tilemap, Vec2i{X: 10 * 16, Y: 1 * 16})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bs *BoardState) DrawHover(target *Image, pos Vec2i, player CellState) {
|
||||||
|
if bs.Get(pos) == Empty {
|
||||||
|
switch player {
|
||||||
|
case Black:
|
||||||
|
target.Draw(tilesStones[tileStoneBlackHalf], Vec2i{X: (10 + pos.X) * 16, Y: (1 + pos.Y) * 16})
|
||||||
|
break
|
||||||
|
case White:
|
||||||
|
target.Draw(tilesStones[tileStoneWhiteHalf], Vec2i{X: (10 + pos.X) * 16, Y: (1 + pos.Y) * 16})
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
20
src/game.go
20
src/game.go
|
@ -1,7 +1,9 @@
|
||||||
package src
|
package src
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
. "git.danitheskunk.com/squishy/blooblib"
|
. "git.danitheskunk.com/squishy/blooblib"
|
||||||
|
"git.danitheskunk.com/squishy/blooblib/color"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Game struct {
|
type Game struct {
|
||||||
|
@ -9,20 +11,24 @@ type Game struct {
|
||||||
boardState *BoardState
|
boardState *BoardState
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) Init(settings *Settings) {
|
func (g *Game) Init(bloob *Bloob, settings *Settings) {
|
||||||
settings.Title = "Goo v0.0"
|
settings.Title = "Goo v0.0"
|
||||||
|
settings.TargetFps = 240
|
||||||
g.boardState = NewBoardState()
|
g.boardState = NewBoardState()
|
||||||
g.gobanRenderer = NewGobanRenderer(g.boardState)
|
g.gobanRenderer = NewGobanRenderer(g.boardState)
|
||||||
|
|
||||||
g.boardState.Set(Vec2i{X:3,Y:3}, Black)
|
g.boardState.Set(Vec2i{X: 3, Y: 3}, Black)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) Render(screen *Image) {
|
func (g *Game) Render(bloob *Bloob, screen *Image) {
|
||||||
|
mouseTilePos := DivScalar(bloob.MousePos, 16)
|
||||||
g.gobanRenderer.Render(screen)
|
g.gobanRenderer.Render(screen)
|
||||||
//screen.DrawTilemap(g.tilemap, Vec2i{})
|
if mouseTilePos.X >= 10 && mouseTilePos.Y >= 1 && mouseTilePos.X < 29 && mouseTilePos.Y < 20 {
|
||||||
//screen.Render(g.tilemap.Tileset[2], Vec2i{X: 16 * 25, Y: 16 * 4})
|
tilePos := Sub(mouseTilePos, Vec2i{X: 10, Y: 1})
|
||||||
//screen.Render(g.tilemap.Tileset[1], Vec2i{X: 16 * 13, Y: 16 * 16})
|
g.boardState.DrawHover(screen, tilePos, Black)
|
||||||
|
}
|
||||||
|
screen.DrawText(fmt.Sprintf("%3d x %3d", bloob.MousePos.X, bloob.MousePos.Y), DefaultFont, Vec2i{10, 10}, color.White)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) Update() {
|
func (g *Game) Update(bloob *Bloob) {
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,10 +24,10 @@ const (
|
||||||
tileRightOfBoard = 13
|
tileRightOfBoard = 13
|
||||||
tileBottomLeftOfBoard = 14
|
tileBottomLeftOfBoard = 14
|
||||||
tileTopRightOfBoard = 15
|
tileTopRightOfBoard = 15
|
||||||
tileStoneBlack = 0
|
tileStoneBlack = 1
|
||||||
tileStoneWhite = 1
|
tileStoneWhite = 2
|
||||||
tileStoneBlackHalf = 2
|
tileStoneBlackHalf = 3
|
||||||
tileStoneWhiteHalf = 3
|
tileStoneWhiteHalf = 4
|
||||||
)
|
)
|
||||||
|
|
||||||
var tilesGoban []*Image
|
var tilesGoban []*Image
|
||||||
|
|
Loading…
Reference in New Issue