/
CampusFighterI.go
83 lines (74 loc) · 1.9 KB
/
CampusFighterI.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package main
import (
"flag"
"fmt"
"github.com/ITR13/campusFighterI/inputManager"
"github.com/ITR13/campusFighterI/menus"
"github.com/veandco/go-sdl2/sdl"
"os"
"strconv"
"time"
)
func doesMyCodeWork() {
startTime := time.Now()
for i := 0; i != -1; i++ {
fmt.Print(i)
fmt.Print(": ")
timeDiff := time.Now().Second() + 60*time.Now().Minute() - startTime.Second() - startTime.Minute()*60
fmt.Println(timeDiff)
time.Sleep(time.Second)
}
}
func doesMyCodeWork2() {
startTime := time.Now()
for i := 0; i != -1; i++ {
fmt.Print(i)
fmt.Print(": ")
timeDiff := time.Now().Second() + 60*time.Now().Minute() - startTime.Second() - startTime.Minute()*60
fmt.Println(timeDiff)
sdl.Delay(1000)
}
}
func main() {
flag.Parse()
// go doesMyCodeWork()
// go doesMyCodeWork2()
var x, y int
if len(os.Args) < 3 {
fmt.Println("No size was specified, using defaults")
x = int(640 * 1.5)
y = int(480 * 1.5)
} else {
var err error
x, err = strconv.Atoi(os.Args[1])
if err != nil {
fmt.Println("Could not parse " + os.Args[1] + " to int!")
return
}
y, err = strconv.Atoi(os.Args[2])
if err != nil {
fmt.Println("Could not parse " + os.Args[2] + " to int!")
return
}
}
window, err := sdl.CreateWindow("Campus Fighter I", sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED, x, y, sdl.WINDOWPOS_UNDEFINED)
if err != nil {
panic(err)
}
defer window.Destroy()
//sdl.ShowCursor(0)
window.UpdateSurface()
renderer, err := sdl.CreateRenderer(window, -1, sdl.RENDERER_ACCELERATED)
if err != nil {
panic(err)
}
surface, err := window.GetSurface()
if err != nil {
panic(err)
}
controlManager := inputManager.GetControlManager()
updateFunctionsToStartWith := make([]inputManager.Update, 1)
updateFunctionsToStartWith[0] = menus.CreateMenus(window, surface, renderer, &controlManager)
inputManager.StateMachine(controlManager.ReadInput(), updateFunctionsToStartWith)
sdl.Quit()
}