plane default code
This commit is contained in:
parent
94c4769241
commit
df156c42f0
|
@ -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
|
|
@ -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);
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
Loading…
Reference in New Issue