public C_OBJET_GRAPHIQUE reception() { C_OBJET_GRAPHIQUE nouvel_objet = null; bool Message_disponible = Le_Socket.Poll(TimeOut_Reception, SelectMode.SelectRead); if (Message_disponible) { Le_Socket.ReceiveFrom(Buffer_reception, ref Adresse_Process_Voisin); MemoryStream Flux_Memoire = new MemoryStream(Buffer_reception); BinaryReader Le_Serialisateur = new BinaryReader(Flux_Memoire); int Nature = Le_Serialisateur.ReadInt32(); switch (Nature) { case 0: break; case 1: nouvel_objet = new C_CARRE(); break; case 2: nouvel_objet = new C_CERCLE(); break; } if (nouvel_objet != null) { nouvel_objet.Deserialise_toi(Buffer_reception); } } return(nouvel_objet); }
static void Animation_Scene() { //.......................Rebond de la balle sur les bord....................... C_OBJET_GRAPHIQUE nouvel_objet = La_Communication.reception(); if (nouvel_objet != null) { Liste_objet.AddLast(nouvel_objet); } foreach (var un_objet in Liste_objet) { un_objet.Deplace_toi(); if (un_objet.Situation == POSITION.Est_A_Droite) { un_objet.Rebondi_Horizontalement(); } if (un_objet.Situation == POSITION.Est_A_Gauche) { Liste_objet_A_supprimer.AddLast(un_objet); La_Communication.emission(un_objet); } if (un_objet.Situation == POSITION.Est_En_Haut) { un_objet.rebondi_Verticalement(); } if (un_objet.Situation == POSITION.Est_En_Bas) { un_objet.rebondi_Verticalement(); } } foreach (C_OBJET_GRAPHIQUE un_objet_a_supprimer in Liste_objet_A_supprimer) { Liste_objet.Remove(un_objet_a_supprimer); } Liste_objet_A_supprimer.Clear(); //.......................Compteur....................... Random Generateur = new Random(); int valeur_random_X = Generateur.Next(-10, 10); int valeur_random_Y = Generateur.Next(-10, 10); foreach (var item in Liste_objet) { if ((double)item.Position_objet_X > (double)Position_curseur_X - 0.3 && (double)item.Position_objet_X < (double)Position_curseur_X + 0.3 && ((double)item.Position_objet_Y > (double)Position_curseur_Y - 0.3 && (double)item.Position_objet_Y < (double)Position_curseur_Y + 0.3)) { compteur++; item.Position_objet_X = valeur_random_X; item.Position_objet_Y = valeur_random_Y; } } Le_Message = $"Score : {compteur}"; Glut.glutPostRedisplay(); // demander d'afficher une Frame (cela invoquera Afficher_Ma_Scene ) }
public void emission(C_OBJET_GRAPHIQUE un_objet) { byte[] Data = un_objet.Serialise_toi(); Le_Client.Send(Data, Data.Length, Adresse_Process_distant); }