Exemple #1
0
        private void LoSocket_msgReceived(object sender, EventArgs e)
        {
            try
            {
                //Obtenems la pelota del vecino
                ClSockets temp = (ClSockets)sender;
                datosPelota = temp.data;

                Ball pelota = JsonConvert.DeserializeObject <Ball>(datosPelota);
                BeginInvoke((Action) delegate
                {
                    pelota.positionX = ConvertRange(0, pelota.resolutionX, 0, Screen.PrimaryScreen.Bounds.Width, pelota.positionX);
                    pelota.positionY = ConvertRange(0, pelota.resolutionY, 0, Screen.PrimaryScreen.Bounds.Height, pelota.positionY);
                    pelota.movementX = -pelota.movementX;
                    if (pelota.movementX < 0)
                    {
                        pelota.positionX = pelota.positionX - pelota.diameter;
                    }

                    pelota.diameter = ConvertRange(0, pelota.resolutionX, 0, Screen.PrimaryScreen.Bounds.Width, pelota.diameter);

                    ClBall pelotaui = new ClBall(Color.FromArgb(pelota.color), pelota.creator, pelota.movementX,
                                                 pelota.movementY, pelota.diameter, this, 30, loPaddle, pelota.positionX, pelota.positionY,
                                                 Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, pelota.life);
                    pelotaui.wallhit += LoBall_wallhit;
                });
            }
            catch { }
        }
Exemple #2
0
        private void LoBall_wallhit(object sender, EventArgs e)
        {
            try
            {
                ClBall loBall = (ClBall)sender;
                Ball   ball;

                //Miramos si hay paredes en la partida
                if (!wallsExist)
                {
                    loBall.PararPelota();

                    ball = new Ball
                    {
                        color       = loBall.Color.ToArgb(),
                        diameter    = loBall.Diametre,
                        creator     = loBall.Owner,
                        life        = loBall.Life,
                        movementX   = loBall.DirectionX,
                        movementY   = loBall.DirectionY,
                        positionX   = loBall.PosX,
                        positionY   = loBall.PosY,
                        resolutionY = loBall.ResY,
                        resolutionX = loBall.ResX
                    };

                    //Segun la posicion X de la pelota sabemos si es left o right
                    if (loBall.PosX < this.Width / 2)
                    {
                        //loSocket.connectSocketLeft(ipLeft);
                        loBall.RemoveBall();
                        loBall.Dispose();
                        ball.positionX = this.Width - (ball.diameter + 5);
                        datosPelota    = JsonConvert.SerializeObject(ball);
                        loSocket.sendDataLeft(datosPelota);
                    }
                    else
                    {
                        //loSocket.connectSocketRight(ipRight);
                        loBall.RemoveBall();
                        loBall.Dispose();
                        ball.positionX = 4;
                        datosPelota    = JsonConvert.SerializeObject(ball);
                        loSocket.sendDataRight(datosPelota);
                    }
                }
            }
            catch (Exception excp)
            {
            }
        }
Exemple #3
0
        private void FrmMain_KeyUp(object sender, KeyEventArgs e)
        {
            //Al clicar en la tecla "Ctrl+n" generamos una pelota

            if (e.KeyCode == Keys.Space)
            {
                //Poner la pelota de la Marta
                loBall          = new ClBall(Color.FromArgb(255, random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), ownerName, 10, 10, 50, this, 30, loPaddle, 70, 70, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, 1);
                loBall.wallhit += LoBall_wallhit;
            }

            if (e.KeyCode == Keys.Escape)
            {
                // CERRAR SOCKETS
                loSocket.fullDisconnect();
                Close();
            }
        }