feat(game): integrate MatchManager into main loop

This commit is contained in:
Vladimir V Maksimov
2026-05-12 11:12:05 +03:00
parent 11e5bd952e
commit 6ed363e6de

View File

@@ -8,17 +8,17 @@ import (
)
type Game struct {
world *game.World
renderer *render.Renderer
matchManager *game.MatchManager
renderer *render.Renderer
}
func (g *Game) Update() error {
g.world.Update()
g.matchManager.Update()
return nil
}
func (g *Game) Draw(screen *ebiten.Image) {
g.renderer.DrawWorld(screen, g.world)
g.renderer.DrawWorld(screen, g.matchManager.World)
}
func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int) {
@@ -29,14 +29,15 @@ func main() {
ebiten.SetWindowSize(1280, 720)
ebiten.SetWindowTitle("AI Hockey Simulation")
matchManager := game.NewMatchManager(game.NewWorld(), 60*60, 60*3)
g := &Game{
world: game.NewWorld(),
renderer: render.NewRenderer(),
matchManager: matchManager,
renderer: render.NewRenderer(),
}
// Give the puck some initial velocity to see it move
g.world.Puck.Velocity.X = 2
g.world.Puck.Velocity.Y = 1.5
g.matchManager.World.Puck.Velocity.X = 2
g.matchManager.World.Puck.Velocity.Y = 1.5
if err := ebiten.RunGame(g); err != nil {
log.Fatal(err)