This commit is contained in:
kercylan98
2023-05-05 17:01:55 +08:00
parent ec341ecaaa
commit e0e43c6749
3 changed files with 69 additions and 0 deletions
@@ -0,0 +1,49 @@
package main
import (
"log"
"minotaur/game"
"minotaur/game/builtin"
"sync"
"time"
)
func NewGame() *Game {
gameplay := builtin.NewGameplay()
gameplayOver := builtin.NewGameplayOver()
return &Game{
GameplayTime: builtin.NewGameplayTime(gameplay, gameplayOver),
}
}
type Game struct {
game.GameplayTime
wait sync.WaitGroup
}
func (slf *Game) init() error {
slf.wait.Add(1)
return nil
}
func (slf *Game) onGameStart(startTime time.Time) {
log.Println("游戏开始")
slf.SetEndTime(startTime.Add(3 * time.Second))
}
func (slf *Game) onGameOver() {
log.Println("游戏结束")
slf.wait.Done()
}
func main() {
g := NewGame()
g.RegGameplayStartEvent(g.onGameStart)
g.RegGameplayOverEvent(g.onGameOver)
if err := g.GameStart(g.init); err != nil {
panic(err)
}
g.wait.Wait()
}