fix generator, not completed
This commit is contained in:
parent
41ba6b25c7
commit
bacc20acb5
15
generator.c
15
generator.c
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user