예제 #1
0
        public void Ejecutar(PaqueteCliente mensaje, Jugador jugador, Juego juego, ServidorMonopolio.ServerForm ventanaServidor)
        {
            jugador.Usuario  = mensaje.PopString();
            jugador.Password = mensaje.PopString();

            Jugador _newJugador = null;

            _newJugador = juego.JugadoresRegistrados.Find(j => j.Usuario.ToLower() == jugador.Usuario.ToLower() && j.Password == jugador.Password);

            if (_newJugador == null)
            {
                juego.JugadoresConectados.Remove(jugador);
                jugador.EnviarMensaje(new Servidor_SesionFallida());
                return;
            }

            jugador.Id       = _newJugador.Id;
            jugador.Nombre   = _newJugador.Nombre;
            jugador.Apellido = _newJugador.Apellido;
            juego.AsignarFichaJugador(jugador);



            ventanaServidor.Mostrar_Cliente(jugador, false);


            ventanaServidor.Imprimir_Log(DateTime.Now + " - " + jugador.Id.ToString() + ": Se le ha asignado el nombre: " + jugador.Usuario.ToUpper());

            jugador.EnviarMensaje(new Servidor_CrearJugador(jugador, juego));

            foreach (Jugador j in juego.JugadoresConectados.Where(u => u.Id != jugador.Id))
            {
                j.EnviarMensaje(new Servidor_AsignarJugador(jugador));
            }
        }
예제 #2
0
        public void Ejecutar(PaqueteCliente mensaje, Jugador jugador, Juego juego, ServidorMonopolio.ServerForm ventanaServidor)
        {
            int idJugador = mensaje.PopInt();

            Jugador _jugador = juego.JugadoresConectados.Find(j => j.Id == idJugador);

            if (_jugador == null)
            {
                return;
            }

            juego.GestionarJugadaJugador(_jugador);

            /*foreach(Jugador j in juego.JugadoresConectados)
             * {
             *  j.EnviarMensaje(new Servidor_LanzarDado(_jugador));
             * }*/
        }
예제 #3
0
        private IMensajeCliente Verificar_Mensaje(string[] Split, ServidorMonopolio.ServerForm VentanaServidor)
        {
            int             Codigo_Entrada = -1;
            IMensajeCliente IMensaje       = null;

            try
            {
                Codigo_Entrada = Convert.ToInt32(Split[0]);

                if (!_mensajesCliente.TryGetValue(Codigo_Entrada, out IMensaje))
                {
                    VentanaServidor.Imprimir_Log("Codigo de entrada desconocido: " + Codigo_Entrada);
                    return(null);
                }

                return(IMensaje);
            }
            catch (Exception)
            {
                VentanaServidor.Imprimir_Log("Error al convertir el código de entrada: " + Split[0]);
                return(null);
            }
        }
예제 #4
0
        public void EjecutarMensaje(string[] mensaje, ServidorMonopolio.Modelo.Jugador jugador, ServidorMonopolio.Modelo.Juego juego, ServidorMonopolio.ServerForm VentanaServidor)
        {
            IMensajeCliente IMensaje = Verificar_Mensaje(mensaje, VentanaServidor);

            if (IMensaje == null)
            {
                return;
            }

            IMensaje.Ejecutar(mensaje, jugador, juego, VentanaServidor);
        }
예제 #5
0
 public void Ejecutar(string[] mensaje, ServidorMonopolio.Modelo.Jugador jugador, ServidorMonopolio.Modelo.Juego juego, ServidorMonopolio.ServerForm ventanaServidor)
 {
     foreach (ServidorMonopolio.Modelo.Jugador _jugador in juego.Jugadores)
     {
         _jugador.EnviarMensaje(new Servidor_Troll());
     }
 }
예제 #6
0
        public void Ejecutar(string[] mensaje, ServidorMonopolio.Modelo.Jugador jugador, ServidorMonopolio.Modelo.Juego juego, ServidorMonopolio.ServerForm ventanaServidor)
        {
            jugador.Nombre = mensaje[1];

            ventanaServidor.Mostrar_Cliente(jugador.Nombre.ToUpper());

            ventanaServidor.Imprimir_Log(DateTime.Now + " - " + jugador.Id.ToString() + ": Se le ha asignado el nombre: " + jugador.Nombre.ToUpper());

            jugador.EnviarMensaje(new Servidor_CrearJugador(jugador, juego));
        }