-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.go
55 lines (46 loc) · 1.12 KB
/
config.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
package main
import (
"github.com/pezza/advent-of-code/puzzles/2020/Day202024"
"github.com/pezza/advent-of-code/puzzles/common"
"github.com/pezza/wasm"
)
// size of grid
const part1HexSize = 8
const part2HexSize = 2
const tilesToAdd = 15
type config struct {
animTickPoll float64
stateTickPoll float64
state2TickPoll float64
hexSize int
canvasWidth int
canvasHeight int
hex []wasm.Point
routeList [][]common.Point
insList [][]string
hexHalfSize int
hexThreeQSize int
hexFullSize int
}
func getNewConfig(w, h, size int) config {
c := config{
animTickPoll: float64(10),
stateTickPoll: float64(20),
state2TickPoll: float64(20),
canvasWidth: w,
canvasHeight: h,
insList: Day202024.GetData(Day202024.Entry.PuzzleInput())}
c.routeList = make([][]common.Point, len(c.insList))
for i := range c.insList {
c.routeList[i] = Day202024.GetMoveList(c.insList[i])
}
c.setSizes(size)
return c
}
func (c *config) setSizes(size int) {
c.hexSize = size
c.hexHalfSize = size * 2
c.hexThreeQSize = size * 3
c.hexFullSize = size * 4
c.hex = getHex(size)
}