fix generator, not completed

This commit is contained in:
Lendemor 2015-01-13 00:19:26 +01:00
parent 41ba6b25c7
commit bacc20acb5

View File

@ -88,6 +88,9 @@ void create_map(t_pixel** map, t_team* teams, int w, int h){
error = 1;
}
}
map[x_rand][y_rand].type=SPAWN;
teams[k].spawn.x = x_rand;
teams[k].spawn.y = y_rand;
}
@ -106,7 +109,7 @@ void create_epicenter(int type){
}
int generate(int x, int y){
int i, ratio, dist_to_epi, sum, val, type;
int i, ratio, dist_to_epi, sum, val;
int proba[5];
t_epicenter epi;
@ -114,22 +117,26 @@ int generate(int x, int y){
epi = l_epicenters[i];
dist_to_epi = distance_manhattan(x,y,epi.x, epi.y);
if (dist_to_epi < epi.radius){
ratio = (int) ((epi.radius - dist_to_epi) * 100) / epi.radius;
ratio = (int) (dist_to_epi * 100) / epi.radius;
proba[epi.type-1]=epi.power * ratio;
}else{
proba[epi.type-1]=0;
}
}
sum=0;
for (i=0;i<5;i++){
sum += proba[i];
}
val = rand()%sum;
int seuil = 0;
for (i=0;i<5;i++){
seuil += proba[i];
if(val < seuil)
return i+1;
return i+2;
}
return GRASS;
}