-
Notifications
You must be signed in to change notification settings - Fork 1
/
simulate.go
45 lines (38 loc) · 1.2 KB
/
simulate.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
package main
func aloca_simulacao(I int,J int) Simulacao {
var simulacao Simulacao
simulacao.grid.array = make([][]Celula,I,I)
for i := range simulacao.grid.array {
simulacao.grid.array[i] = make([]Celula,J,J)
}
simulacao.backup.array = make([][]Celula,I,I)
for i := range simulacao.backup.array {
simulacao.backup.array[i] = make([]Celula,J,J)
}
simulacao.output.array = make([][]Output,I,I)
for i := range simulacao.output.array {
simulacao.output.array[i] = make([]Output,J,J)
}
simulacao.grid.I,simulacao.grid.J = I,J
simulacao.backup.I,simulacao.backup.J = I,J
simulacao.output.I,simulacao.output.J = I,J
return simulacao
}
func simulate(regra func(int,int,vetCelula) Celula,simulacao Simulacao){
for true {
for testes:=0 ; testes<0 ; testes ++{
}
AtualizaGrid(regra,simulacao.grid,simulacao.backup)
AtualizaOutput(simulacao)
aux := simulacao.grid
simulacao.grid = simulacao.backup
simulacao.backup = aux
//SwapFrame(simulacao)
}
}
func SwapFrame(simulacao Simulacao) {
// Lembrando que usamos slices, é só trocar os ponteiros
aux := simulacao.grid
simulacao.grid = simulacao.backup
simulacao.backup = aux
}