From 8a4af86fb5a82a2eed428764992a0da017ec67d1 Mon Sep 17 00:00:00 2001 From: Shadow Date: Mon, 22 Jul 2019 15:27:32 +0200 Subject: [PATCH] gestions des communications --- Sources/FlySim.g3a | Bin 40828 -> 41052 bytes Sources/build-cg/map | 356 ++++++++++++++++---------------- Sources/build-cg/src/FlySim.bin | Bin 12152 -> 12376 bytes Sources/build-cg/src/FlySim.elf | Bin 19496 -> 19752 bytes Sources/build-cg/src/main.o | Bin 3988 -> 4236 bytes Sources/src/main.c | 342 ++++++++++++++++-------------- 6 files changed, 362 insertions(+), 336 deletions(-) diff --git a/Sources/FlySim.g3a b/Sources/FlySim.g3a index f982f5c28de2bb7fa8080bf70106fdd3716311a2..c82913a0e48385b1822090c4281185dee0e17ae9 100644 GIT binary patch delta 2254 zcmZuzeN0nV6u`fP7FUoBogXWXg$EP{qKimz%#l2z zjuC}`yvodCOcxeojA_lDF-Dyu(lnA$;%hE;Kmp*FB7h=I8|LjcXq{_$R;ad=z6u@%7DxO2lhrKLNtpci*7Gs z;tCP7au6|@9>l1WGHFL;9(PXozUgO7#oXZQoA*(%o7tNEIPgqqqdVw+h+acqY}`uU z++9Tfwx@X{qbxm`QOs$%xyg-n3Ng*8bzd*mx&=u~0ZjmHK+-Ir4UAaWUpsLyvByI9 zO{UgepTJJ-V?3Ek_tgm#IwDK>~3Yz-`VT~!PT_%1KRm7|KbzzCd~5yIJ= zK{f@3!9_w9bx95kxuamB7E9nKuwXGUFp+J*4Dz8V(zY}o45JR(RtQuIv<;{N$PEN{ zB&!t&+8S*wqjJjkgWQ?SHV*!D0(pTTQ05TOW1wer~9;&wSopq!-ZjzIomnOx{VX^VczftvzO zlJDYn1mFALau-FReMZ_Pfoc%f5lFQWUrLK(Nz}Ij$&2gC0j2_ZyA;|%Pt@=(*hr?SVepp@(+pt-TBA1kf3|xAv>hLZU-E?eHEt5D?4=X|=-)^fr(* z%G^Sa#FS_e*NDj^^Seo(4)inb$nn=bu7bJs+BI+uoA4^bH}-XHi(kbhVD^kTX`V;E=-CO3)h2x0OF(HG0ox#vL> zZ3v;%*t^F2#s{YLFl=Pt9vZ4=LYBOQ9;G`{LIzMb2G@9#wna%ar?x@I@|~WZzp7`( z5T{-YKb~Bn7`QeuZSt$9cOYgNE7X5!z!u~1UBx6CR!pFNT)4_@Kx6P3dJ{3mVZqzh zM^WZN-od3)D>{Wz?g2#^T)gApHOi>xrw%@`81>{k2Bf?IUoOO?*btNK1b&~NK2)b7 z*Kg$@?>by!A-C7o-W5;0Y`(7eSAfUeK#b`=fAz3MC5h9*=;0Jh#SZavU*%CrZ9LQQ z&I)}#VqPQ8Pk}!Z+ByuFO4u#*e*H0(HU%fciMB!DRyYdcn;^}Vg@{Q#51i$7M`l#k zA$ULrdF9bCmE`27kM1L(*{)lfDRA)-SAprCfpc|&t!En++Iyei12nc3UjP6A delta 2060 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 delta 1973 zcmZuxeN0nV6hHU2HZ8BXQc9_ONGYXsD!eB$L(~`;{{S8K8LdQ`0Iz+7jMD1WU;)8; z5@3Fw@0l?215FM5U~^5t6WS&{E6@Ja(6Vo2c{L|Cgt{iItIj?ypxO85M>yWIET^5E zfXC1%S91@^-mW9WZ=ZmdZIUtIYng4H1+Hn9aWip-DBr^m@PjQiW9dz&`HTDIOw&5a z_LT3L1b(2oh9AUO!#!)jQ_qR2&~-c=tvmrCLol=aRA*sO4*2%ZF0ck8MR<4%tcRn}57*!hjKeg{!M|h!*+v>kD>*Nb%Ve5T z>Y#4=I^9Ksw43(R0s6HV2`B2gcC+?v9VbTEsE%v5Y2UC>^Mgh?tZqSX@13B0gp}H) zJyI~>J2ZQ6_Q34(8if;L1UYQsM7x=-)4qu2gN1R8$t;eZ#Aqv0^i^6vOAD)U!pOBx z@B$*yws3+;!SM+;tNb(t+HrlxxH!|J&s>-ysmzEn1r{x${0WwkE_^s@D&EQR;*b=t zeN@j$ONJjZQl=RtxwH?ITS(FILhL<#o7>@p*19Ba(?ZIRU`cIpNI91}hUp(SF zx&)GxAWF%?nzaxMhZD+I?fw+e+e$C0Zy2jvqJKBbN>$6haE?@&-P(5L-Q?D|F|z0f zacf(ZGtZ;idi@Be7b+*=mh0O6jBD<5~=CfifAI z!S*OFv`7$MLiMI+>Q<|ra zFMnwZ2sthgvdkdlT2(RIPN=h6?Qrd;g-j0HEQZ#N`$y4Yx))`w#A16p<$rQ!Oa(D~ zBr$n9H%@bd@@QTwqpr=rX+d4yt1MM@t(?Jqy{gr{oybw%tOg68khIcXbat$gst`$@1S{t+*$l;T4^^c2M7gT`7=KIP4r5SB_pm5-2(LXIh_?CWaC40 z8IyCRok^QFr&kfcg*jKy??C7UMxM50juY$SWb9c5Lg|5IEW@o^05cwW7_ZQQ_*Fja adxL;{!?%Wjn()1EHu-VRKP(^SC;tQMjFBY( diff --git a/Sources/build-cg/src/FlySim.elf b/Sources/build-cg/src/FlySim.elf index bb44772c07be3417f96600815aedab73814b8fc8..4e0f6aa386331e7135fb184b6efa4526201a643f 100755 GIT binary patch delta 4748 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 WvhpUq))4Zqc@yuOK~oRhBjmq&ki~oe diff --git a/Sources/build-cg/src/main.o b/Sources/build-cg/src/main.o index 20e955c7ad032cb1576bd9e690c48b63d2d9a750..91b02d48fc688ce1470c59971dc39473387e51c8 100644 GIT binary patch literal 4236 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 L=Yg{n4bSdBS*d^> diff --git a/Sources/src/main.c b/Sources/src/main.c index 889e282..073301a 100755 --- a/Sources/src/main.c +++ b/Sources/src/main.c @@ -1,7 +1,7 @@ //----- // Nom du projet : Fly Simulator // Version : - dev - -// Dernière modification le : 19 juillet 2019 +// Dernière modification le : 22 juillet 2019 //----- #include @@ -14,13 +14,10 @@ //communication : gère les communications entre la tour et l'avion -int communication (int *com_id, int *ligne, int id); +void communication (int *com_id, int *id); //display_comm : affiche les communications -void display_comm (char *msg, int *ligne, int joueur); - -//reset_comm : vide l'historique des communications -void reset_comm (int *ligne); +void display_comm (char *msg_1, char *msg_2, char *msg_3, int *joueur); //add : concatène deux chaines de caractère, str >> dest char *add (char *dest, const char *src); @@ -28,231 +25,251 @@ char *add (char *dest, const char *src); //fill : initialise une chaine de caractère en écrasant le texte contenu dans dest char *fill (char *dest, const char *src); +//fill_char : initialise une chaine avec un nombre de caractères répétés 'n' fois +char *fill_char(char *dest, const char *src, unsigned int debut, unsigned int fin); + int main (void) { - int com_id = 1, ligne = 0, id = 0; - //int key = 0; + int com_id = 1, id = 0;// variables des communications + int key = 0;//variables diverses dclear(C_WHITE); dupdate(); - while(com_id < 26) + while(com_id <= 26) { - id = communication(&com_id, &ligne, id); - getkey(); + communication(&com_id, &id); + key = getkey().key; dupdate(); + if(key == KEY_EXIT) return 0; } getkey(); - return 1; + return 0; } -int communication(int *com_id, int *ligne, int id) +void communication(int *com_id, int *id) { //faire un choix de la langue Français / Anglais - char avion[] = "Cessna 172 ", immat[] = "F-GUXF ", immat_courte[] = "F-XF ", aipt_depart[] = "Caen ", aipt_arrivee[] = "Le Havre ", freq_cont[] = "117.15 ", freq_arrivee[] = "122.80 ", passagers[] = "4 personnes a bord, ", msg[100] = ""; + char avion[] = "Cessna 172 ", immat[] = "F-GUXF ", immat_courte[] = "F-XF ", aipt_depart[] = "Caen ", aipt_arrivee[] = "Le Havre ", freq_cont[] = "117.15 ", freq_arrivee[] = "122.80 ", passagers[] = "4 personnes a bord, ", msg_1[70], msg_2[70], msg_3[70]; + + fill_char(msg_1, " ", 0, 70); + fill_char(msg_2, " ", 0, 70); + fill_char(msg_3, " ", 0, 70); switch (*com_id) { case 1: - id = 1; - fill(msg, aipt_depart); - add(msg, "tour, "); - add(msg, immat); - add(msg, "bonjour."); + *id = 1; + + fill(msg_1, aipt_depart); + add(msg_1, "tour, "); + add(msg_1, immat); + add(msg_1, "bonjour."); break; case 2: - id = 0; - fill(msg, immat); - add(msg, aipt_depart); - add(msg, "bonjour."); + *id = 0; + + fill(msg_1, immat); + add(msg_1, aipt_depart); + add(msg_1, "bonjour."); break; case 3: - id = 1; - fill(msg, immat); - add(msg, avion); - add(msg, passagers); - add(msg, "demandons"); - display_comm(msg, &(*ligne), id); - fill(msg, "vol vers "); - add(msg, aipt_arrivee); + *id = 1; + + fill(msg_1, immat); + add(msg_1, avion); + add(msg_1, passagers); + add(msg_1, "demandons"); + fill(msg_2, "vol vers "); + add(msg_2, aipt_arrivee); break; case 4: - id = 0; - fill(msg, immat_courte); - add(msg, "vol autorise. Rappelez pret au depart"); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "vol autorise. Rappelez pret au depart."); break; case 5: - id = 1; - fill(msg, "Rappelons pret au depart, "); - add(msg, immat_courte); + *id = 1; + + fill(msg_1, "Rappelons pret au depart, "); + add(msg_1, immat_courte); break; case 6: - id = 1; - fill(msg, immat_courte); - add(msg, "pret au depart"); + *id = 1; + + fill(msg_1, immat_courte); + add(msg_1, "pret au depart."); break; case 7: - id = 0; - fill(msg, immat_courte); - add(msg, "autorise decollage."); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "autorise decollage."); break; case 8: - id = 1; - fill(msg, "Autorise decollage, "); - add(msg, immat_courte); + *id = 1; + + fill(msg_1, "Autorise decollage, "); + add(msg_1, immat_courte); break; case 9: - id = 0; - reset_comm (&(*ligne)); - fill(msg, immat_courte); - add(msg, "Vous quittez mon espace. Services radar"); - display_comm(msg, &(*ligne), id); - fill(msg, "et radio termines. Informations de vol avec"); - display_comm(msg, &(*ligne), id); - fill(msg, "Controle, "); - add(msg, freq_cont); - add(msg, "au revoir."); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "Vous quittez mon espace. Services radar"); + fill(msg_2, "et radio termines. Informations de vol avec"); + fill(msg_3, "Controle, "); + add(msg_3, freq_cont); + add(msg_3, "au revoir."); break; case 10: - id = 1; - fill(msg, "Controle "); - add(msg, freq_cont); - add(msg, "bonne journee. "); - add(msg, immat_courte); + *id = 1; + + fill(msg_1, "Controle "); + add(msg_1, freq_cont); + add(msg_1, "bonne journee. "); + add(msg_1, immat_courte); break; case 11: - id = 1; - fill(msg, "Controle "); - add(msg, immat); - add(msg, "bonjour."); + *id = 1; + + fill(msg_1, "Controle "); + add(msg_1, immat); + add(msg_1, "bonjour."); break; case 12: - id = 0; - fill(msg, immat_courte); - add(msg, "Controle, bienvenu."); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "Controle, bienvenu."); break; case 13: - id = 1; - fill(msg, immat); - add(msg, avion); - add(msg, passagers); - add(msg, "sortie de "); - display_comm(msg, &(*ligne), id); - add(msg, aipt_depart); - add(msg, "vers "); - add(msg, aipt_arrivee); + *id = 1; + + fill(msg_1, immat); + add(msg_1, avion); + add(msg_1, passagers); + add(msg_1, "sortie de "); + fill(msg_2, aipt_depart); + add(msg_2, "vers "); + add(msg_2, aipt_arrivee); break; case 14: - id = 0; - fill(msg, immat_courte); - add(msg, "identifie radar."); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "identifie radar."); break; case 15: - id = 0; - reset_comm(&(*ligne)); - fill(msg, immat_courte); - add(msg, "Vous quittez mon espace, contactez "); - add(msg, aipt_arrivee); - display_comm(msg, &(*ligne), id); - fill(msg, freq_arrivee); - add(msg, "bon vol."); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "Vous quittez mon espace, contactez "); + add(msg_1, aipt_arrivee); + fill(msg_2, freq_arrivee); + add(msg_2, "bon vol."); break; case 16: - id = 1; - fill(msg, aipt_arrivee); - add(msg, freq_arrivee); - add(msg, "au revoir. "); - add(msg, immat_courte); + *id = 1; + + fill(msg_1, aipt_arrivee); + add(msg_1, freq_arrivee); + add(msg_1, "au revoir. "); + add(msg_1, immat_courte); break; case 17: - id = 1; - fill(msg, aipt_arrivee); - add(msg, "tour, "); - add(msg, immat); - add(msg, "bonjour."); + *id = 1; + + fill(msg_1, aipt_arrivee); + add(msg_1, "tour, "); + add(msg_1, immat); + add(msg_1, "bonjour."); break; case 18: - id = 0; - fill(msg, immat_courte); - add(msg, aipt_arrivee); - add(msg, "bonjour."); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, aipt_arrivee); + add(msg_1, "bonjour."); break; case 19: - id = 1; - fill(msg, immat); - add(msg, avion); - add(msg, passagers); - add(msg, "demandons"); - display_comm(msg, &(*ligne), id); - fill(msg, "consignes pour atterrissage sur "); - add(msg, aipt_arrivee); + *id = 1; + + fill(msg_1, immat); + add(msg_1, avion); + add(msg_1, passagers); + add(msg_1, "demandons"); + fill(msg_2, "consignes pour atterrissage sur "); + add(msg_2, aipt_arrivee); break; case 20: - id = 0; - fill(msg, immat_courte); - add(msg, "Commencez votre approche"); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "Commencez votre approche"); break; case 21: - id = 1; - fill(msg, "Commencons notre approche "); - add(msg, immat_courte); + *id = 1; + + fill(msg_1, "Commencons notre approche "); + add(msg_1, immat_courte); break; case 22: - id = 1; - reset_comm(&(*ligne)); - fill(msg, immat_courte); - add(msg, "en finale, demandons autorisation"); - display_comm(msg, &(*ligne), id); - fill(msg, "d'atterrissage"); + *id = 1; + + fill(msg_1, immat_courte); + add(msg_1, "en finale, demandons autorisation"); + fill(msg_2, "d'atterrissage"); break; case 23: - id = 0; - fill(msg, immat_courte); - add(msg, "autorise aterrissage. Rappelez au sol."); + *id = 0; + + fill(msg_1, immat_courte); + add(msg_1, "autorise aterrissage. Rappelez au sol."); break; case 24: - id = 1; - fill(msg, "Autorise aterrissage, rappelons au sol, "); - add(msg, immat_courte); + *id = 1; + + fill(msg_1, "Autorise aterrissage, rappelons au sol, "); + add(msg_1, immat_courte); break; case 25: - id = 1; - fill(msg, immat_courte); - add(msg, "au sol, pour quitter, merci."); + *id = 1; + + fill(msg_1, immat_courte); + add(msg_1, "au sol, pour quitter, merci."); break; case 26: - id = 0; - fill(msg, immat_courte); - add(msg, "quittez la frequence, a bientot."); - - - - + *id = 0; + fill(msg_1, immat_courte); + add(msg_1, "quittez la frequence, a bientot."); } - - display_comm(msg, &(*ligne), id); + display_comm(msg_1, msg_2, msg_3, &(*id)); *com_id += 1; - return id; } -void display_comm (char *msg, int *ligne, int joueur) + +void display_comm (char *msg_1, char *msg_2, char *msg_3, int *joueur) { - if (*ligne >= 5) reset_comm(&(*ligne)); + fill_char(msg_1, " ", strlen(msg_1), 70); + fill_char(msg_2, " ", strlen(msg_2), 70); + fill_char(msg_3, " ", strlen(msg_3), 70); - if (joueur)dtext(1, 1 + (*ligne * 12),msg, C_BLUE, C_NONE); - else dtext(1, 1 + (*ligne * 12),msg, C_BLACK, C_NONE); - - *ligne += 1; - msg[0] = '\0'; + if (*joueur == 1){ + dtext(1, 1, msg_1, C_BLUE, C_WHITE); + dtext(1, 12, msg_2, C_BLUE, C_WHITE); + dtext(1, 23, msg_3, C_BLUE, C_WHITE); + } + else{ + dtext(1, 1, msg_1, C_BLACK, C_WHITE); + dtext(1, 12, msg_2, C_BLACK, C_WHITE); + dtext(1, 23, msg_3, C_BLACK, C_WHITE); + } } -void reset_comm (int *ligne) -{ - *ligne = 0; - dclear(C_WHITE); -} char *add(char *dest, const char *src) { @@ -262,13 +279,22 @@ char *add(char *dest, const char *src) return dest; } + char *fill(char *dest, const char *src) { unsigned int i; - for (i = 0 ; i <= strlen(src) ; i++) - { - dest[i] = src[i]; - } - dest[strlen(dest) + 1] = '\0'; + for (i = 0 ; i <= strlen(src) ; i++) dest[i] = src[i]; + return dest; +} + + +char *fill_char(char *dest, const char *src, unsigned int debut, unsigned int fin) +{ + unsigned int i; + for (i = debut ; i < fin ; i++) + { + dest[i] = src[0]; + } + dest[fin] = '\0'; return dest; }