Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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 )
        }
Ejemplo n.º 3
0
 public void emission(C_OBJET_GRAPHIQUE un_objet)
 {
     byte[] Data = un_objet.Serialise_toi();
     Le_Client.Send(Data, Data.Length, Adresse_Process_distant);
 }