Esempio n. 1
0
        public void Setup()
        {
            comun   = new Comun(2);
            red     = new Red(10);
            bomb    = new Bomb(3);
            chuck   = new Chuck(4);
            terence = new Terence(3, 2);
            matilda = new Matilda(4, new List <Huevo>()
            {
                new Huevo(2), new Huevo(3), new Huevo(1), new Huevo(4)
            });

            madera       = new Madera(3);
            vidrio       = new Vidrio(1);
            piedra       = new Piedra(2);
            obrero       = new Obrero();
            armadoEscudo = new Armado(new Escudo(2));
            armadoCasco  = new Armado(new Casco(4));

            isla = new Isla(new List <Pajaro>()
            {
                comun, red, bomb, chuck, terence, matilda
            });
            islaCerditos = new Isla_Cerdo(new List <Obstaculo>()
            {
                madera, vidrio, piedra, obrero, armadoCasco, armadoEscudo
            });
        }
Esempio n. 2
0
        public IList <Segmento> SegmentosInteriores(Segmento Rayo)
        {
            IList <Segmento> Res = new List <Segmento>();

            Res = _Exterior.SegmentosInteriores(Rayo, false);

            if (Res.Count > 0)                 //si no corta el exterior tampoco a las islas
            {
                foreach (Shape Isla in _Islas) //por cada isla compara con todos los segmentos
                {
                    for (int i = 0; i < Res.Count; i++)
                    {
                        IList <Segmento> ResIsla = new List <Segmento>();

                        ResIsla = Isla.SegmentosInteriores(Res[i], true);

                        //reemplaza el segmento interior por el nuevo si han producido intersecciones
                        if (ResIsla.Count > 0)
                        {
                            Res.RemoveAt(i);

                            for (int j = 0; j < ResIsla.Count; j++)
                            {
                                Res.Insert(i + j, ResIsla[i]);
                            }
                        }
                    }
                }
            }

            return(Res);
        }
Esempio n. 3
0
    public Isla obtenerNuevoDestino(Comerciante comerciante_, Isla ultimaLista)
    {
        List <Isla> islasClon = new List <Isla> (islas);

        islasClon.Sort((y, x) => (x.posibleFelicidad(comerciante_)).CompareTo(y.posibleFelicidad(comerciante_)));

        /*foreach (Isla isla in islasClon)
         * {
         *  Debug.Log("Isla " +  isla.transform.name + " para comerciante " + comerciante_.name + " da " + isla.posibleFelicidad(comerciante_) + " felicidad");
         * }*/

        int  randomIsland = Random.Range(0, 1);
        Isla returnIsla   = islasClon[randomIsland];

        if (ultimaLista == returnIsla)
        {
            if (randomIsland == 0)
            {
                returnIsla = islasClon[1];
            }
            else
            {
                returnIsla = islasClon[0];
            }
        }

        // Debug.Log("Comerciante " + comerciante_.name + " viaja a " + returnIsla.transform.name + " por " + returnIsla.posibleFelicidad(comerciante_) + " felicidad.");

        returnIsla.aumentarCompetencia();
        return(returnIsla);
    }
Esempio n. 4
0
    void Start()
    {
        panel = GameObject.Find("/selectShipResources").transform.GetChild(0).GetComponent <showPanel>();
        IAstarAI agent = transform.GetComponent <IAstarAI>();

        movimiento = new Movimiento(agent, extraEndDistance);
        Canvas canvas = transform.GetChild(0).GetComponent <Canvas>();

        canvasRecursos = new CanvasRecursos(canvas, oro, madera, tabaco, comida);
        esperando      = true;
        islaDestino    = mundo.islas[Random.Range(0, mundo.islas.Count)];
        islaDestino.aumentarCompetencia();
        cambiarEstado(EstadoComerciante.VIAJANDO_OTRA_LISTA);
    }
Esempio n. 5
0
 private void updateBuscando()
 {
     islaDestino = mundo.obtenerNuevoDestino(this, islaDestino);
     cambiarEstado(EstadoComerciante.VIAJANDO_OTRA_LISTA);
     MonoBehaviour.print(transform.name + " se dirige a su nuevo destino: " + islaDestino.name + ".");
 }
Esempio n. 6
0
        public override void init()
        {
            #region INICIALIZACIONES ESCENARIO

            lightMesh = TgcBox.fromSize(new Vector3(10, 10, 10), Color.Red);
            oceano = new Oceano(currentScaleXZ, currentScaleY);
            isla = new Isla(currentScaleXZ, currentScaleY);
            skyBox = new PirateSkyBox();

            #endregion

            #region INICIALIZACIONES PANTALLA

            crearModifiers();

            crearUserVars();
            crearSprites();
            // Carga valores para el postprocesado
            Postproceso.Cargar();

            #endregion

            #region INICIALIZACIONES BARCO

            barcoProtagonista = ConstructorDeElementos.ConstruirProtagonista(new Vector2(0, -930f));
            b1 = ConstructorDeElementos.ConstruirEnemigo(new Vector2(500, 500));
            b2 = ConstructorDeElementos.ConstruirEnemigo(new Vector2(-700, 960));
            b3 = ConstructorDeElementos.ConstruirEnemigo(new Vector2(100, 880));

            InteractionManager.Barcos.AddRange(new List<Barco> { b1, b2, b3, barcoProtagonista });
            InteractionManager.Resto.AddRange(new List<IUpdateRender> { isla, oceano });

            InputManager.Add(barcoProtagonista);

            #endregion
        }