Browse Source

Figure out go modules

I tried this and a dual-module setup with a cmd/lib structure, but this
is what ended up working.
trunk
Shanti Chellaram 10 months ago
parent
commit
3f73cef233
  1. 1
      .gitignore
  2. 13
      go.mod
  3. 16
      go.sum
  4. 22
      lib/lib.go
  5. 19
      main.go

1
.gitignore

@ -0,0 +1 @@
/gotris

13
go.mod

@ -1,3 +1,14 @@
module gotris/main
module git.shanti.wtf/shanti/gotris
go 1.24.1
require github.com/hajimehoshi/ebiten/v2 v2.8.6
require (
github.com/ebitengine/gomobile v0.0.0-20240911145611-4856209ac325 // indirect
github.com/ebitengine/hideconsole v1.0.0 // indirect
github.com/ebitengine/purego v0.8.0 // indirect
github.com/jezek/xgb v1.1.1 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.25.0 // indirect
)

16
go.sum

@ -0,0 +1,16 @@
github.com/ebitengine/gomobile v0.0.0-20240911145611-4856209ac325 h1:Gk1XUEttOk0/hb6Tq3WkmutWa0ZLhNn/6fc6XZpM7tM=
github.com/ebitengine/gomobile v0.0.0-20240911145611-4856209ac325/go.mod h1:ulhSQcbPioQrallSuIzF8l1NKQoD7xmMZc5NxzibUMY=
github.com/ebitengine/hideconsole v1.0.0 h1:5J4U0kXF+pv/DhiXt5/lTz0eO5ogJ1iXb8Yj1yReDqE=
github.com/ebitengine/hideconsole v1.0.0/go.mod h1:hTTBTvVYWKBuxPr7peweneWdkUwEuHuB3C1R/ielR1A=
github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE=
github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
github.com/hajimehoshi/ebiten/v2 v2.8.6 h1:Dkd/sYI0TYyZRCE7GVxV59XC+WCi2BbGAbIBjXeVC1U=
github.com/hajimehoshi/ebiten/v2 v2.8.6/go.mod h1:cCQ3np7rdmaJa1ZnvslraVlpxNb3wCjEnAP1LHNyXNA=
github.com/jezek/xgb v1.1.1 h1:bE/r8ZZtSv7l9gk6nU0mYx51aXrvnyb44892TwSaqS4=
github.com/jezek/xgb v1.1.1/go.mod h1:nrhwO0FX/enq75I7Y7G8iN1ubpSGZEiA3v9e9GyRFlk=
golang.org/x/image v0.20.0 h1:7cVCUjQwfL18gyBJOmYvptfSHS8Fb3YUDtfLIZ7Nbpw=
golang.org/x/image v0.20.0/go.mod h1:0a88To4CYVBAHp5FXJm8o7QbUl37Vd85ply1vyD8auM=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=

22
lib/lib.go

@ -0,0 +1,22 @@
package lib
import "github.com/hajimehoshi/ebiten/v2"
// Implements ebiten.Game
type TetrisGame struct {
}
func NewGame() (*TetrisGame, error) {
return &TetrisGame{}, nil
}
func (g *TetrisGame) Layout(outsideWidth, outsideHeight int) (int, int) {
return 640, 480
}
func (g *TetrisGame) Update() error {
return nil
}
func (g *TetrisGame) Draw(screen *ebiten.Image) {
}

19
main.go

@ -1,7 +1,22 @@
package main
import "fmt"
import (
"log"
"git.shanti.wtf/shanti/gotris/lib"
"github.com/hajimehoshi/ebiten/v2"
)
// Entry point; initialize global state and begin ebiten game loop
func main() {
fmt.Println("Hello, World!")
game, err := lib.NewGame()
if err != nil {
log.Fatal(err)
}
ebiten.SetWindowSize(640, 480)
ebiten.SetWindowTitle("Gotris")
if err := ebiten.RunGame(game); err != nil {
log.Fatal(err)
}
}
Loading…
Cancel
Save