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