コード例 #1
0
ファイル: main.go プロジェクト: suninweb/tdos
func main() {
	var (
		splash *Splash
		system *twodee.System
		window *twodee.Window
		err    error
	)
	system, err = twodee.Init()
	Check(err)
	defer system.Terminate()

	window = &twodee.Window{
		Width:      800,
		Height:     600,
		Title:      "TDoS",
		Fullscreen: false,
	}
	system.Open(window)

	if !DEBUG {
		splash, err = InitSplash(system, window, 0)
		Check(err)
		for splash.Running() {
			splash.Paint()
		}
		splash = nil
	}

	state, err := Init(system, window)
	Check(err)
	tick := time.Now()
	state.UpdateViewport(0)
	for state.Running() {
		elapsed := time.Since(tick)
		//fmt.Printf("Elapsed: %v\n", float32(elapsed) / float32(time.Millisecond))
		tick = time.Now()
		ms := Min(float32(elapsed)/float32(time.Millisecond), 50)
		state.CheckKeys(ms)
		state.Update(ms)
		state.UpdateViewport(ms)
		state.Paint(ms)
	}

	if !DEBUG {
		frame := 1
		if state.Victory {
			frame = 2
		}
		splash, err = InitSplash(system, window, frame)
		Check(err)
		for splash.Running() {
			splash.Paint()
		}
	}
}