feat(game): integrate MatchManager into main loop
This commit is contained in:
@@ -8,17 +8,17 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Game struct {
|
type Game struct {
|
||||||
world *game.World
|
matchManager *game.MatchManager
|
||||||
renderer *render.Renderer
|
renderer *render.Renderer
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) Update() error {
|
func (g *Game) Update() error {
|
||||||
g.world.Update()
|
g.matchManager.Update()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *Game) Draw(screen *ebiten.Image) {
|
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) {
|
func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int) {
|
||||||
@@ -29,14 +29,15 @@ func main() {
|
|||||||
ebiten.SetWindowSize(1280, 720)
|
ebiten.SetWindowSize(1280, 720)
|
||||||
ebiten.SetWindowTitle("AI Hockey Simulation")
|
ebiten.SetWindowTitle("AI Hockey Simulation")
|
||||||
|
|
||||||
|
matchManager := game.NewMatchManager(game.NewWorld(), 60*60, 60*3)
|
||||||
g := &Game{
|
g := &Game{
|
||||||
world: game.NewWorld(),
|
matchManager: matchManager,
|
||||||
renderer: render.NewRenderer(),
|
renderer: render.NewRenderer(),
|
||||||
}
|
}
|
||||||
|
|
||||||
// Give the puck some initial velocity to see it move
|
// Give the puck some initial velocity to see it move
|
||||||
g.world.Puck.Velocity.X = 2
|
g.matchManager.World.Puck.Velocity.X = 2
|
||||||
g.world.Puck.Velocity.Y = 1.5
|
g.matchManager.World.Puck.Velocity.Y = 1.5
|
||||||
|
|
||||||
if err := ebiten.RunGame(g); err != nil {
|
if err := ebiten.RunGame(g); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
|||||||
Reference in New Issue
Block a user