func (g *Game) Draw(screen *ebiten.Image) {
	if g.boardImage == nil {
		w, h := g.board.Size()
		g.boardImage, _ = ebiten.NewImage(w, h, ebiten.FilterDefault)
	}
	screen.Fill(backgroundColor)
	g.board.Draw(g.boardImage)
	op := &ebiten.DrawImageOptions{}
	sw, sh := screen.Size()
	bw, bh := g.boardImage.Size()
	x := (sw - bw) / 2
	y := (sh - bh) / 2
	op.GeoM.Translate(float64(x), float64(y))
	screen.DrawImage(g.boardImage, op)
}
func (g *Game) Draw(screen *ebiten.Image) {
	if g.boardImage == nil {
		w, h := g.board.Size()
		g.boardImage, _ = ebiten.NewImage(w, h, ebiten.FilterDefault)
	}
	screen.Fill(backgroundColor)
	g.board.Draw(g.boardImage)
	op := &ebiten.DrawImageOptions{}
	sw, sh := screen.Size()
	bw, bh := g.boardImage.Size()
	x := (sw - bw) / 2
	y := (sh - bh) / 2
	op.GeoM.Translate(float64(x), float64(y))
	screen.DrawImage(g.boardImage, op)
}
func ( g * Game ) Draw ( screen * ebiten . Image ) { if g . boardImage == nil { w , h := g . board . Size ( ) g . boardImage , _ = ebiten . NewImage ( w , h , ebiten . FilterDefault ) } screen . Fill ( backgroundColor ) g . board . Draw ( g . boardImage ) op := & ebiten . DrawImageOptions { } sw , sh := screen . Size ( ) bw , bh := g . boardImage . Size ( ) x := ( sw - bw ) / 2 y := ( sh - bh ) / 2 op . GeoM . Translate ( float64 ( x ) , float64 ( y ) ) screen . DrawImage ( g . boardImage , op ) }
// Draw draws the current game to the given screen.
Draw draws the current game to the given screen .