plane default code

This commit is contained in:
xdrm-brackets 2017-04-06 12:01:18 +02:00
parent 94c4769241
commit df156c42f0
3 changed files with 45 additions and 32 deletions

View File

@ -2,10 +2,34 @@
#define _LIB_NETWORK_FORMAT_SERIALIZER_H_ #define _LIB_NETWORK_FORMAT_SERIALIZER_H_
#define SGCA_PLANE 0x01
#define SGCA_VIEWTERM 0x02
#define SGCA_CTRLTERM 0x04
#include "../../header.h"; #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 #endif

View File

@ -15,21 +15,18 @@ char numero_vol[6];
*** 3 fonctions à implémenter *** 3 fonctions à implémenter
********************************/ ********************************/
int ouvrir_communication() int ouvrir_communication(){
{
// fonction à implémenter qui permet d'entrer en communication via TCP // fonction à implémenter qui permet d'entrer en communication via TCP
// avec le gestionnaire de vols // avec le gestionnaire de vols
return 1; return 1;
} }
void fermer_communication() void fermer_communication(){
{
// fonction à implémenter qui permet de fermer la communication // fonction à implémenter qui permet de fermer la communication
// avec le gestionnaire de vols // avec le gestionnaire de vols
} }
void envoyer_caracteristiques() void envoyer_caracteristiques(){
{
// fonction à implémenter qui envoie l'ensemble des caractéristiques // fonction à implémenter qui envoie l'ensemble des caractéristiques
// courantes de l'avion au gestionnaire de vols // 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 // initialise aléatoirement les paramètres initiaux de l'avion
void initialiser_avion() void initialiser_avion(){
{
// initialisation aléatoire du compteur aléatoire // initialisation aléatoire du compteur aléatoire
int seed; int seed;
time(&seed); time(&seed);
@ -49,7 +45,7 @@ void initialiser_avion()
// intialisation des paramètres de l'avion // intialisation des paramètres de l'avion
coord.x = 1000 + random() % 1000; coord.x = 1000 + random() % 1000;
coord.y = 1000 + random() % 1000; coord.y = 1000 + random() % 1000;
coord.altitude = 900 + random() % 100; coord.z = 900 + random() % 100;
dep.cap = random() % 360; dep.cap = random() % 360;
dep.vitesse = 600 + random() % 200; 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 // 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) if (vitesse < 0)
dep.vitesse = 0; dep.vitesse = 0;
else if (vitesse > VITMAX) 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 // 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)) if ((cap >= 0) && (cap < 360))
dep.cap = cap; dep.cap = cap;
} }
// modifie l'altitude de l'avion avec la valeur passée en paramètre // modifie l'z de l'avion avec la valeur passée en paramètre
void changer_altitude(int alt) void changer_z(int alt){
{
if (alt < 0) if (alt < 0)
coord.altitude = 0; coord.z = 0;
else if (alt > ALTMAX) else if (alt > ALTMAX)
coord.altitude = ALTMAX; coord.z = ALTMAX;
else coord.altitude = alt; else coord.z = alt;
} }
// affiche les caractéristiques courantes de l'avion // affiche les caractéristiques courantes de l'avion
void afficher_donnees() void afficher_donnees(){
{ printf("Avion %s -> localisation : (%d,%d), z : %d, vitesse : %d, cap : %d\n",
printf("Avion %s -> localisation : (%d,%d), altitude : %d, vitesse : %d, cap : %d\n", numero_vol, coord.x, coord.y, coord.z, dep.vitesse, dep.cap);
numero_vol, coord.x, coord.y, coord.altitude, dep.vitesse, dep.cap);
} }
// recalcule la localisation de l'avion en fonction de sa vitesse et de son 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 cosinus, sinus;
float dep_x, dep_y; float dep_x, dep_y;
int nb; int nb;
if (dep.vitesse < VITMIN) if (dep.vitesse < VITMIN){
{
printf("Vitesse trop faible : crash de l'avion\n"); printf("Vitesse trop faible : crash de l'avion\n");
fermer_communication(); fermer_communication();
exit(2); exit(2);
} }
if (coord.altitude == 0) if (coord.z == 0){
{
printf("L'avion s'est ecrase au sol\n"); printf("L'avion s'est ecrase au sol\n");
fermer_communication(); fermer_communication();
exit(3); exit(3);

View File

@ -4,12 +4,12 @@
#define VITMAX 1000 #define VITMAX 1000
#define VITMIN 200 #define VITMIN 200
#define PAUSE 2 #define PAUSE 2
struct coordonnees { struct coord {
int x; int x;
int y; int y;
int altitude; int z;
}; };
struct deplacement { struct deplacement {