MAP Studios - Nindefense

Programación Orientada a Objetos (Tower defense - kingdom rush)

Moderator: julianmartinez16

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Wed Sep 13, 2017 12:25 am

se pusieron los nuevo tarjet en la escena, ya los iconos desaparecen cuando hago click e un icono.
Image

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Wed Sep 13, 2017 12:29 am

nuevos códigos

poner iconos

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ponericonos : MonoBehaviour {

    public GameObject arco;
    public GameObject guardianes;
    public GameObject shuriken;
    public GameObject explciva;

	// Use this for initialization
	void Start () {
        arco.SetActive(false);
        guardianes.SetActive(false);
        shuriken.SetActive(false);
        explciva.SetActive(false);
    }
	
	// Update is called once per frame
	void Update () {
		
	}

    //al precionar click
    void OnMouseDown()
    {
        //arco 
        Vector3 posuno = this.transform.position;
        posuno.x = posuno.x - .3f;
        posuno.y = posuno.y + .2f;
        arco.transform.position = posuno;
        arco.SetActive(true);

        //guardianes
        Vector3 posdos = this.transform.position;
        posdos.x = posdos.x + .2f;
        posdos.y = posdos.y + .2f;
        guardianes.transform.position = posdos;
        guardianes.SetActive(true);

        //shuriken
        Vector3 postres = this.transform.position;
        postres.x = postres.x - .3f;
        postres.y = postres.y + -.3f;
        shuriken.transform.position = postres;
        shuriken.SetActive(true);

        //explocivo
        Vector3 poscuatro = this.transform.position;
        poscuatro.x = poscuatro.x + .2f;
        poscuatro.y = poscuatro.y + -.3f;
        explciva.transform.position = poscuatro;
        explciva.SetActive(true);

        //destructor de tarjet
        Destroy(this.gameObject);

    }


}
eliminar iconos

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class eliminar : MonoBehaviour {

    //i = icono
    
    public GameObject i1;
    public GameObject i2;
    public GameObject i3;
    public GameObject inicio;



	// Use this for initialization
	void Start () {


    }
	
	// Update is called once per frame
	void OnMouseDown ()
    {
        gameObject.transform.position = inicio.transform.position;
        i1.transform.position = inicio.transform.position;
        i2.transform.position = inicio.transform.position;
        i3.transform.position = inicio.transform.position;
    }
}

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Wed Sep 13, 2017 12:32 am

1.¿Que hemos hecho?
-se creo el diseño de tarjet.
-se solucionó el problema de los iconos

2.¿Que vamos a hacer?

-esperar vídeo 8.
-que disparen las otras 2 torres.
-que el trajet no desaparesca al parecer los icconos, sino la torre.

3.¿Que dificultades tenemos?

el tarjet desaparece al aparecer los iconos y si se cambia de opinion al presionar otro tajet el tarjet no se puede apretar click en el tarjet anterior.

User avatar
JPedro23
Posts: 18
Joined: Tue Jul 18, 2017 4:12 pm

Re: MAP Studios - Nindefense

Post by JPedro23 » Thu Sep 14, 2017 11:40 pm

Eleccion de la fuente y estilo de letra para la interfaz del juego

La seleccionada se encuentra señalada en la imagen

Image

User avatar
JPedro23
Posts: 18
Joined: Tue Jul 18, 2017 4:12 pm

Re: MAP Studios - Nindefense

Post by JPedro23 » Thu Sep 14, 2017 11:45 pm

1.Que hemos hecho?
- Se eligío el estilo de caligrafia del juego, que es el primer paso para el diseño final de la interfaz.

2.¿Que vamos a hacer?

- Buscar en paginas web y en librerias de sonidos efectos y musica para el juego y sus componentes.

3.¿Que dificultades tenemos?

- Aun no se encuentran en su totalidad los efectos deseados para el juego.
- Atrasado en el diseño de las pantallas de inicio y fondos.

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Tue Sep 26, 2017 12:19 pm

la ubicación de las torres ya es mejor, y no salen tan dispersas como antes.
Image


se modificó el código poner torres de manera que no tenga que haber 4 códigos distintos.

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PonerTorre : MonoBehaviour {

    public GameObject torre;
    public float horizontal;
    public float vertical;


    void Start()
    {

    }


    void OnMouseDown()
    {
        GameObject temp;
        Vector3 pos = this.transform.position;

        pos.y = pos.y + vertical;
        pos.x = pos.x + horizontal;
        temp = Instantiate(torre);
        temp.transform.position = pos;
        temp.layer = 5;



	
    }

}

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Tue Sep 26, 2017 12:23 pm

cada torre dispara. siendo a que tira flechas la mas rápida. La que tira shurikens la mitad de rápida que la de flechas. y la que tira explocivos la mitad de rápida que la de shurikens.
Image


para lograr esto se tuvo que modificar el código de la torre.

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Torre_1 : MonoBehaviour {

    public GameObject Pum;
    private GameObject enemigo;
    public float Tiempo;
    private bool esta_activa;
    private float distancia_umbral = 2;
 
   

    

    // Use this for initialization
    void Start () {
        InvokeRepeating("Disparar", 1f, Tiempo);
       
	}
	
	// Update is called once per frame
	void Update () {
        Enemigo = BuscarEnemigoCercano();
        if(enemigo != null)
        {

            Debug.DrawLine(this.transform.position, enemigo.transform.position, Color.yellow);
        }
      
	}

    void Disparar()
    {
        GameObject obj = (GameObject)Instantiate(Pum, this.transform.position, Quaternion.identity );
        Bala bala = obj.GetComponent<Bala>();
        
        bala.ActivarBala(this);
    }


//enemigo 1
    GameObject BuscarEnemigoCercano()
    {
        ArrayList enemigos = pooling_1.unidades;
        GameObject temp;
        foreach (Object item in enemigos)
        {
            temp = (GameObject)item;
            if(Vector3.Distance(temp.transform.position, this.transform.position) < distancia_umbral)
            {
                return temp;
            }
        }
        return null;
    }




    public GameObject Enemigo
    {
        get
        {
            return enemigo;
        }

        set
        {
            enemigo = value;
        }
    }
}

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Tue Sep 26, 2017 12:37 pm

los enemigos ya mueren.
Image


teniendo las siguientes variables:
enemigo 1 = 100 de vida
enemigo 2 = 200 de vida

al colacionar con armas
flecha -= 5 de vida
shuriken -= 10 de vida
explocivo -= 20 de vida


se tuvo que modificar el código de unidades.

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Unidad : MonoBehaviour {
    public GameObject ruta;
    private int indice;
    private Vector3 posicion_inicial;
    private Vector3 posicion_siguiente;
    private float vel = 1;
    private float distancia_punto = 0.5f;
    private bool esta_viva;



    void OnTriggerEnter2D(Collider2D otro)
    {
        if(otro.gameObject.tag == "flecha")
        {
            Destroy(otro.gameObject);
        }

        if (otro.gameObject.tag == "explociva")
        {
            Destroy(otro.gameObject);
        }

        if (otro.gameObject.tag == "shuriken")
        {
            Destroy(otro.gameObject);
        }
    }
    

    public bool Esta_viva
    {
        get
        {
            return esta_viva;
        }

        set
        {
            esta_viva = value;
        }
    }

    // Use this for initialization
    void Start()
    {
        posicion_inicial = this.transform.position;
        posicion_siguiente = ruta.transform.GetChild(0).position;
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 dir = posicion_siguiente - this.transform.position;
        this.transform.position += dir * vel * Time.deltaTime;

        

        if(esta_viva)
        {

        }

        if (dir.magnitude <= distancia_punto)
        {
            if (indice + 1 < ruta.transform.childCount)
            {
                indice++;
                posicion_siguiente = ruta.transform.GetChild(indice).position;
                Debug.Log("xs" + posicion_siguiente.x + "ys" + posicion_siguiente.y);
            }

            else
            {

                indice = 0;
                this.transform.position = posicion_inicial;
                posicion_siguiente = ruta.transform.GetChild(0).position;
            }
        }
    }
}


y se creo el codigo vida.

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Vida : MonoBehaviour {

    public float vida;
   


    void OnTriggerEnter2D(Collider2D otro)
    {
        if (otro.gameObject.tag == "flecha")
        {
            vida -= 5;
        }

        if (otro.gameObject.tag == "explociva")
        {
            vida -= 10;
        }

        if (otro.gameObject.tag == "shuriken")
        {
            vida -= 20;
        }
    }

    // Use this for initialization
    void Start () {
		
	}


	
	// Update is called once per frame
	void Update () {
        if(vida < 0) { vida = 0; }
		if(vida == 0f) { Destroy(this.gameObject); }
	}
}

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Tue Sep 26, 2017 12:44 pm

(esto es lo que se hizo tanto la semana pasada como hoy)

1.Que hemos hecho?
-se logro acomodar las torres.
-ya los disparos no son tan seguidos sino que son mas controlados.
-cada torre dispara.
-los enemigos tienen vida.
-cada diferente arma quita distinta vida.
-se inicio la programación para comprar y vender.

2.¿Que vamos a hacer?
-terminar la programación para comprar y vender.
-esperar vídeo 8.

3.¿Que dificultades tenemos?
-ya el juego después de cierto tiempo carga lento o se bloquea.
-al iniciar las actualizaciones de visual y unity no se pudo trabajar mucho ya que estas fallaban.

User avatar
sileugim
Posts: 65
Joined: Tue Jul 18, 2017 4:31 pm

Re: MAP Studios - Nindefense

Post by sileugim » Thu Sep 28, 2017 11:11 pm

Se cambio el numero de pooling y la velocidad de los enemigos.
Image

se empezó a crear el código de vida de personaje.

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class VidaJugador : MonoBehaviour {

    private int vida = 40;


    void OnTriggerEnter2D(Collider2D otro)
    {
        if (otro.gameObject.tag == "S.PRIN")
        {
            vida -= 1;
        }

        if (otro.gameObject.tag == "S.SENSEI")
        {
            vida -= 2;
        }

    }

    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		
	}
}

Post Reply