diff --git a/central-manager/lib/network/format/serializer.h b/central-manager/lib/network/format/serializer.h index eb2f0c0..84b3d72 100644 --- a/central-manager/lib/network/format/serializer.h +++ b/central-manager/lib/network/format/serializer.h @@ -2,10 +2,34 @@ #define _LIB_NETWORK_FORMAT_SERIALIZER_H_ + #define SGCA_PLANE 0x01 + #define SGCA_VIEWTERM 0x02 + #define SGCA_CTRLTERM 0x04 + + #include "../../header.h"; + struct view{ + int x; + int y; + int z; + int cap; + int speed; + char id[6]; + }; // 26 bytes + struct ctrl{ + int cap; + int speed; + int z; + }; // 12 bytes + + struct netflow{ + char type; + char flags; + char data[39]; + } // 41 bytes #endif \ No newline at end of file diff --git a/global/plane.c b/global/plane.c index a2b10f3..376a8ee 100644 --- a/global/plane.c +++ b/global/plane.c @@ -15,21 +15,18 @@ char numero_vol[6]; *** 3 fonctions à implémenter ********************************/ -int ouvrir_communication() -{ +int ouvrir_communication(){ // fonction à implémenter qui permet d'entrer en communication via TCP // avec le gestionnaire de vols return 1; } -void fermer_communication() -{ +void fermer_communication(){ // fonction à implémenter qui permet de fermer la communication // avec le gestionnaire de vols } -void envoyer_caracteristiques() -{ +void envoyer_caracteristiques(){ // fonction à implémenter qui envoie l'ensemble des caractéristiques // courantes de l'avion au gestionnaire de vols } @@ -39,8 +36,7 @@ void envoyer_caracteristiques() ********************************/ // initialise aléatoirement les paramètres initiaux de l'avion -void initialiser_avion() -{ +void initialiser_avion(){ // initialisation aléatoire du compteur aléatoire int seed; time(&seed); @@ -49,7 +45,7 @@ void initialiser_avion() // intialisation des paramètres de l'avion coord.x = 1000 + random() % 1000; coord.y = 1000 + random() % 1000; - coord.altitude = 900 + random() % 100; + coord.z = 900 + random() % 100; dep.cap = random() % 360; dep.vitesse = 600 + random() % 200; @@ -63,8 +59,7 @@ void initialiser_avion() } // modifie la valeur de l'avion avec la valeur passée en paramètre -void changer_vitesse(int vitesse) -{ +void changer_vitesse(int vitesse){ if (vitesse < 0) dep.vitesse = 0; else if (vitesse > VITMAX) @@ -73,44 +68,38 @@ void changer_vitesse(int vitesse) } // modifie le cap de l'avion avec la valeur passée en paramètre -void changer_cap(int cap) -{ +void changer_cap(int cap){ if ((cap >= 0) && (cap < 360)) dep.cap = cap; } -// modifie l'altitude de l'avion avec la valeur passée en paramètre -void changer_altitude(int alt) -{ +// modifie l'z de l'avion avec la valeur passée en paramètre +void changer_z(int alt){ if (alt < 0) - coord.altitude = 0; + coord.z = 0; else if (alt > ALTMAX) - coord.altitude = ALTMAX; - else coord.altitude = alt; + coord.z = ALTMAX; + else coord.z = alt; } // affiche les caractéristiques courantes de l'avion -void afficher_donnees() -{ - printf("Avion %s -> localisation : (%d,%d), altitude : %d, vitesse : %d, cap : %d\n", - numero_vol, coord.x, coord.y, coord.altitude, dep.vitesse, dep.cap); +void afficher_donnees(){ + printf("Avion %s -> localisation : (%d,%d), z : %d, vitesse : %d, cap : %d\n", + numero_vol, coord.x, coord.y, coord.z, dep.vitesse, dep.cap); } // recalcule la localisation de l'avion en fonction de sa vitesse et de son cap -void calcul_deplacement() -{ +void calcul_deplacement(){ float cosinus, sinus; float dep_x, dep_y; int nb; - if (dep.vitesse < VITMIN) - { + if (dep.vitesse < VITMIN){ printf("Vitesse trop faible : crash de l'avion\n"); fermer_communication(); exit(2); } - if (coord.altitude == 0) - { + if (coord.z == 0){ printf("L'avion s'est ecrase au sol\n"); fermer_communication(); exit(3); diff --git a/global/plane.h b/global/plane.h index 678021b..fab4475 100644 --- a/global/plane.h +++ b/global/plane.h @@ -4,12 +4,12 @@ #define VITMAX 1000 #define VITMIN 200 -#define PAUSE 2 +#define PAUSE 2 -struct coordonnees { +struct coord { int x; int y; - int altitude; + int z; }; struct deplacement {