#include "main.h" #define MAX_POWER 10 #define MAX_EPICENTER_BY_TYPE 10 #define MAX_RADIUS 75 typedef struct{ int x; int y; int type; int power; int radius; } t_epicenter; // variables t_epicenter* l_epicenters; int size_epicenters; int cpt_epicenter = 0; int width, height; // functions int distance_manhattan(int x1,int y1, int x2, int y2); int absolute(int val); void set_spawns(t_pixel** map, t_team* teams); void create_epicenter(int x, int y, int type); void create_epicenter_random(int type); int generate(int x, int y); void create_map(t_pixel** map, t_team* teams, int w, int h){ int i,j; int type; //epicenter variable int nb_rock, nb_tree, nb_berries; width = w; height = h; //Epicenters generation // random choice for numbers of epicenters nb_rock = rand()%MAX_EPICENTER_BY_TYPE; nb_tree = rand()%MAX_EPICENTER_BY_TYPE; nb_berries = rand()%MAX_EPICENTER_BY_TYPE; size_epicenters = nb_rock + nb_tree + nb_berries + NB_TEAMS; l_epicenters = malloc(sizeof(t_epicenter)*size_epicenters); // Spawn generations set_spawns(map,teams); for(i=0;ix=x; epicenter->y=y; epicenter->type = type; epicenter->power = (rand()%MAX_POWER)+1; epicenter->radius = (rand()%100)+1; l_epicenters[cpt_epicenter++]=*epicenter; } void create_epicenter_random(int type){ create_epicenter(rand()%width,rand()%height,type); } int generate(int x, int y){ int i, ratio, dist_to_epi, sum, val; int proba[5]; t_epicenter epi; for(i=0;i<5;i++){ proba[i]=0; } for(i=0;i 0 ? val : -val; }