forked from JVictorDias/Dinossauro-Google
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInicializar.h
114 lines (97 loc) · 2.52 KB
/
Inicializar.h
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
void InicializarChao()
{
for(int i=0; i<CHAO_QUANTIDADE; i++)
{
chao[i].sprite = getChaoSprite();
chao[i].X = i*60.0;
chao[i].Y = 25.0;
}
}
void InicializarMontanhas()
{
for(int i=0; i<MONTANHA_QUANTIDADE; i++)
{
for(int j=0; j<2; j++)
{
montanha[i].X[j] = LARG_TELA/2.0 + LARG_TELA*(j);
montanha[i].Y[j] = 90;
montanha[i].sprite[j] = getMontanhaSprite(i*10 + (j+1));
}
}
}
void InicializarNuvens()
{
for(int i=0; i<NUVEM_QUANTIDADE; i++)
{
nuvem[i].X = -1;
nuvem[i].Y = -1;
nuvem[i].sprite = getNuvemSprite();
}
for(int i=0; i<NUVEM_QUANTIDADE; i++)
{
double X = (rand()%1100)+50;
double Y = (rand()%140)+100;
if(existeNuvem(X, Y) == 0)
{
nuvem[i].X = X;
nuvem[i].Y = Y;
}
else
{
i--;
}
}
}
void InicializarObstaculos()
{
ObstaculoDaVez = 0;
for(int i=0; i<MAX_OBSTACULOS; i++)
{
getNextObstaculo(&obstaculo[i], ObstaculoDaVez);
}
}
void InicializarDinossauro(int Indice, double* DNA, double X, double Y)
{
Dinossauros[Indice].Estado = 0;
Dinossauros[Indice].X = X;
Dinossauros[Indice].Y = Y;
Dinossauros[Indice].Frame = 0;
Dinossauros[Indice].SpriteAtual = 0;
Dinossauros[Indice].FrameAviao = 0;
if(Dinossauros[Indice].ResetarFitness == 1)
{
Dinossauros[Indice].Fitness = 0;
}
else
{
Dinossauros[Indice].Estado = 3;
DinossaurosMortos++;
}
if(DNA == NULL) /// Inicializa aleatoriamente
{
for(int i=0; i<Dinossauros[Indice].TamanhoDNA; i++)
{
Dinossauros[Indice].DNA[i] = getRandomValue();
}
}
else /// Inicializa com o DNA passado pelo parametro
{
for(int i=0; i<Dinossauros[Indice].TamanhoDNA; i++)
{
Dinossauros[Indice].DNA[i] = DNA[i];
}
}
RNA_CopiarVetorParaCamadas(Dinossauros[Indice].Cerebro, Dinossauros[Indice].DNA);
Dinossauros[Indice].AviaoCooldown = 0;
Dinossauros[Indice].AviaoDeslocamento = 0;
ReiniciarTimer(Dinossauros[Indice].TimerFrame);
ReiniciarTimer(Dinossauros[Indice].TimerFrameAviao);
}
void InicializarGrafico()
{
for(int i=0; i<LARG_GRAFICO; i++)
{
grafico.MediaFitness[i] = 0;
grafico.MelhorFitness[i] = 0;
}
}