1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| /* Les prototypes de mes structures */
typedef enum {Haut, Bas, Droite, Gauche} te_Direction;
typedef enum {Vide, Ver, Plante} te_Nourriture;
typedef enum {Rien, Petit, Moyen, Plein, Pierre} te_Etatterre;
typedef enum {Male, Femelle} te_Sexe;
typedef enum {Adulte, Jeune} te_Age;
typedef struct {te_Nourriture Nourriture; int ptNourriture; te_Etatterre eEtatterre; int eTaupes;} t_motte;
typedef struct {int ePosX; int ePosY; int eSante; te_Sexe Sexe; te_Age Age; int eGestation; int eDelaiGrossesse; } t_rattaupes;
/* Mes fonctions */
void Envoyer_pRattaupe(t_liste* pRattaupe, int32_t eNombreJoueurIncremente, SOCKET* csock){
int32_t eNombreRattaupe=0;
int32_t epRattaupeContenu[7];
t_rattaupes Rattaupe;
en_tete(pRattaupe);
while(!hors_liste(pRattaupe)){
eNombreRattaupe++;
suivant(pRattaupe);
}
/* Envoie de la structure pRattaupe */
eNombreRattaupe= htonl(eNombreRattaupe);
send(csock[eNombreJoueurIncremente], (char const*)&eNombreRattaupe, sizeof(eNombreRattaupe), 0);
en_queue(pRattaupe);
while(!hors_liste(pRattaupe)){
valeur_elt(pRattaupe,&Rattaupe);
epRattaupeContenu[0]=htonl(Rattaupe.ePosX);
epRattaupeContenu[1]=htonl(Rattaupe.ePosY);
epRattaupeContenu[2]=htonl(Rattaupe.eSante);
epRattaupeContenu[3]=htonl(Rattaupe.Sexe);
epRattaupeContenu[4]=htonl(Rattaupe.Age);
epRattaupeContenu[5]=htonl(Rattaupe.eGestation);
epRattaupeContenu[6]=htonl(Rattaupe.eDelaiGrossesse);
send(csock[eNombreJoueurIncremente], (char const*)epRattaupeContenu, sizeof(epRattaupeContenu), 0);
precedent(pRattaupe);
}
}
void Envoyer_pMotte(t_motte** pMotte, int eNombreJoueur, int32_t eNombreJoueurPosition, int32_t eTour, SOCKET* csock){
int eLigne, eColonne;
int eNombreJoueurIncremente;
int32_t epMotteContenu[4];
int32_t eNombreJoueurPositiontemp = htonl(eNombreJoueurPosition);
int32_t eTourtemp = htonl(eTour);
/* Envoie de la structure pMotte */
for(eNombreJoueurIncremente=1;eNombreJoueurIncremente<eNombreJoueur;eNombreJoueurIncremente++){
for(eLigne=1;eLigne<elmax-1;eLigne++){
for(eColonne=1;eColonne<ecmax-1;eColonne++){
epMotteContenu[0]=htonl(pMotte[eLigne][eColonne].Nourriture);
epMotteContenu[1]=htonl(pMotte[eLigne][eColonne].ptNourriture);
epMotteContenu[2]=htonl(pMotte[eLigne][eColonne].eEtatterre);
epMotteContenu[3]=htonl(pMotte[eLigne][eColonne].eTaupes);
send(csock[eNombreJoueurIncremente], (char const*)epMotteContenu, sizeof(epMotteContenu), 0);
}
}
send(csock[eNombreJoueurIncremente], (char const*)&eNombreJoueurPositiontemp, sizeof(eNombreJoueurPositiontemp), 0);
send(csock[eNombreJoueurIncremente], (char const*)&eTourtemp, sizeof(eTourtemp), 0);
}
} |
Partager