-
Notifications
You must be signed in to change notification settings - Fork 212
/
Copy pathGeradorObstaculos.h
121 lines (95 loc) · 2.76 KB
/
GeradorObstaculos.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
115
116
117
118
119
120
121
void GerarListaObstaculos()
{
int contadorEspinhos = 0;
int Largura;
obstaculosModelo[0].X = 1250;
obstaculosModelo[0].Y = 15;
obstaculosModelo[0].Tipo = 5;
for(int i=1; i<20000; i++)
{
if(contadorEspinhos >= 10)
{
obstaculosModelo[i].Tipo = ESPINHO_CODIGO_TIPO;
contadorEspinhos = 0;
}
else
{
obstaculosModelo[i].Tipo = rand()%6;
if(DINO_BRAIN_QTD_OUTPUT == 3)
{
contadorEspinhos++;
}
}
/// ---------------
Sprite* sprit = getObstaculosSprite(obstaculosModelo[i-1].Tipo, 0);
Largura = sprit->Largura;
obstaculosModelo[i].X = obstaculosModelo[i-1].X + Largura + 500 + ((rand()%200)-100);
/// ---------------
if(obstaculosModelo[i].Tipo == PASSARO_CODIGO_TIPO)
{
obstaculosModelo[i].Y = 20 + rand()%65;
}
else
{
if(obstaculosModelo[i].Tipo == ESPINHO_CODIGO_TIPO)
{
obstaculosModelo[i].Y = 10;
}
else
{
obstaculosModelo[i].Y = 15;
}
}
}
}
void GerarListaObstaculosTreinoSemEspinho()
{
int Largura;
obstaculosModelo[0].X = 1250;
obstaculosModelo[0].Y = 15;
obstaculosModelo[0].Tipo = 0;
for(int i=1; i<10000; i++)
{
if(i < 600)
{
obstaculosModelo[i].Tipo = 5;
}
else
{
obstaculosModelo[i].Tipo = (i-600)/300;
if(obstaculosModelo[i].Tipo > 5)
{
obstaculosModelo[i].Tipo = 5;
}
}
//obstaculosModelo[i].Tipo = 0;
/// ---------------
Sprite* sprit = getObstaculosSprite(obstaculosModelo[i-1].Tipo, 0);
Largura = sprit->Largura;
obstaculosModelo[i].X = obstaculosModelo[i-1].X + Largura + 400 + ((rand()%200)-100) ;
/// ---------------
if(obstaculosModelo[i].Tipo == PASSARO_CODIGO_TIPO)
{
obstaculosModelo[i].Y = 20 + i%65;
}
else
{
obstaculosModelo[i].Y = 15;
}
}
FILE* f = fopen("obstaculos.dat","wb");
fwrite(obstaculosModelo, 10000, sizeof(Obstaculo), f);
fclose(f);
f = fopen("obstaculos.txt","w");
for(int i=0; i<10000; i++)
{
fprintf(f,"%d %f %f\n", obstaculosModelo[i].Tipo, obstaculosModelo[i].X, obstaculosModelo[i].Y);
}
fclose(f);
}
void CarregarListaObstaculos()
{
FILE* f = fopen("obstaculos.dat","rb");
fread(obstaculosModelo, 20000, sizeof(Obstaculo), f);
fclose(f);
}