-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathAlocacoes.h
46 lines (33 loc) · 1.38 KB
/
Alocacoes.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
void AlocarPassaro()
{
static int ControladorCor = 0;
int Tamanho;
for(int i=0; i<QTD_SPRITES_BIRDS; i++)
{
Passaro[QuantidadePassaros].sprite[i] = getPassaroSprite(i, ControladorCor);
}
Passaro[QuantidadePassaros].TimerFrame = CriarTimer();
Passaro[QuantidadePassaros].ResetarFitness = 1;
Passaro[QuantidadePassaros].Cerebro = RNA_CriarRedeNeural( BIRD_BRAIN_QTD_LAYERS,
BIRD_BRAIN_QTD_INPUT,
BIRD_BRAIN_QTD_HIDE,
BIRD_BRAIN_QTD_OUTPUT);
Tamanho = RNA_QuantidadePesos(Passaro[QuantidadePassaros].Cerebro);
Passaro[QuantidadePassaros].TamanhoDNA = Tamanho;
Passaro[QuantidadePassaros].DNA = (double*)malloc(Tamanho*sizeof(double));
DNADaVez[QuantidadePassaros] = (double*)malloc(Tamanho*sizeof(double));
for(int j=0; j<Tamanho; j++)
{
DNADaVez[QuantidadePassaros][j] = getRandomValue();
}
InicializarPassaro(QuantidadePassaros, DNADaVez[QuantidadePassaros], 0, 0);
ControladorCor = (ControladorCor+1)%QTD_COR_BIRDS;
QuantidadePassaros = QuantidadePassaros + 1;
}
void AlocarPassaros()
{
for(int i=0; i<POPULACAO_TAMANHO; i++)
{
AlocarPassaro();
}
}