ARZ VEGA - Epcot

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

Moderator: julianmartinez16

User avatar
SebasARZ25
Posts: 19
Joined: Thu Jul 26, 2018 6:28 am

ARZ VEGA - Epcot

Post by SebasARZ25 » Thu Jul 26, 2018 7:04 am

Integrantes:
  • Sebastian Ariza
  • Daniel Vega
Nombre de la empresa: ARZ VEGA

Proyecto en git

https://github.com/danielvegabalbin/Epcot

Last edited by SebasARZ25 on Tue Sep 25, 2018 6:42 am, edited 3 times in total.
Juan Sebastian Ariza Jimenez
Programación orientada a objetos

User avatar
SebasARZ25
Posts: 19
Joined: Thu Jul 26, 2018 6:28 am

Referentes

Post by SebasARZ25 » Mon Jul 30, 2018 11:52 am

Jugabilidad, distribución de elementos jugables, posición de la camara y organización del escenario.



Estilo grafico:
Image

Personajes:
Image
Image
Image
Image
Image

Criaturas:
Image
Juan Sebastian Ariza Jimenez
Programación orientada a objetos

User avatar
SebasARZ25
Posts: 19
Joined: Thu Jul 26, 2018 6:28 am

Planeación corregida

Post by SebasARZ25 » Mon Jul 30, 2018 11:52 am

Image
Juan Sebastian Ariza Jimenez
Programación orientada a objetos

User avatar
atv234
Posts: 78
Joined: Tue Jan 19, 2016 12:05 pm

Re: ARZ VEGA - EPCOT

Post by atv234 » Tue Jul 31, 2018 6:07 am

Que hicimos ?
Definir bn el logo, cuadrar correctamente los horarios
Que vamos a hacer?
Comenzar con la programación del juego tower defense epcot
Dificultades?
Daniel esta enfermo
Daniel Vega Balbin

Programación y diseño orientado a objetos :evil: :ugeek:

User avatar
xacarana
Site Admin
Posts: 1028
Joined: Fri Jan 15, 2016 6:13 pm

Re: ARZ VEGA - EPCOT

Post by xacarana » Tue Jul 31, 2018 6:24 am

Image
  • Strike simbolico, por el momento
  • Ojo a la ortografía en las preguntas
  • No hay evidencias
  • Desde esta semana debe haber programación
  • Foto de perfil
  • Modificar el nombre del post
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
atv234
Posts: 78
Joined: Tue Jan 19, 2016 12:05 pm

Re: ARZ VEGA - Epcot

Post by atv234 » Wed Aug 01, 2018 7:13 pm

¿Qué Hicimos ?

Comienzo de la programación en el tower defence (Programación disparo a un enemigo "ataque" ) , creación del proyecto en github

¿Qué vamos a hacer ?

Continuar Con la programación, basados en el comportamiento del enemigo

¿Qué problemas ?

Comenzamos la programación sin un modelo pero se logro usar unos assets temporales para probar el funcionamiento

Image

Programación ataque a enemigo :geek:

:arrow: Usar la etiqueta code mejor, para la visualización del código, como aparece en este post.

Code: Select all

public class Projectile : MonoBehaviour
{
    /// <summary>
    /// The projectile's target
    /// </summary>
    private Monster target;

    /// <summary>
    /// The projectile's tower
    /// </summary>
    private Tower tower;

    /// <summary>
    /// The projectile's animator
    /// </summary>
    private Animator myAnimator;

    /// <summary>
    /// The element type of the projectile
    /// </summary>
    private Element element;

    /// <summary>
    /// The projectile's awake function
    /// </summary>
    void Awake()
    {
        //Creates a reference to the animator
        this.myAnimator = GetComponent<Animator>();
    }

    /// <summary>
    /// Initializes the projectile
    /// </summary>
    /// <param name="tower"></param>
    public void Initialize(Tower tower)
    {
        //Sets the values
        this.target = tower.Target;
        this.tower = tower;
        this.element = tower.ElementType;
    }

    /// <summary>
    /// Update is called once per frame
    /// </summary>
    void Update()
    {
        if (target != null && target.IsActive) //If the target isn't null and the target isn't dead
        {
            //Move towards the position
            transform.position = Vector3.MoveTowards(transform.position, target.transform.position, Time.deltaTime * tower.ProjectileSpeed);

            //Calculates the direction of the projectile
            Vector2 dir = target.transform.position - transform.position;

            //Calculates the angle of the projectile
            float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;

            //Sets the rotation based on the angle
            transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
        }
        else if(!target.IsActive) //If the target is inactive then we don't need the projectile anymore
        {
            GameManager.Instance.Pool.ReleaseObject(gameObject);
        }
    }

    /// <summary>
    /// When the projectile hits something
    /// </summary>
    /// <param name="other">The object the projectil hit</param>
    public void OnTriggerEnter2D(Collider2D other)
    {
        //If we hit a monster
        if (other.tag == "Monster")
        {
            //Creates a reference to the monster script
            Monster target = other.GetComponent<Monster>();

            //Makes the monster take damage based on the tower stats
            target.TakeDamage(tower.Damage, tower.ElementType);

            //Triggers the impact animation
            myAnimator.SetTrigger("Impact");

            //Tries to apply a debuff
            ApplyDebuff();
        }

    }

    /// <summary>
    /// Tries to apply a debuff to the target
    /// </summary>
    private void ApplyDebuff()
    {
        //Checks if the target is immune to the debuff
        if (target.ElementType != element)
        {
            //Does a roll to check if we have to apply a debuff
            float roll = UnityEngine.Random.Range(0, 100);

            if (roll <= tower.Proc)
            {   
                //applies the debuff
                target.AddDebuff(tower.GetDebuff());
            }
        }

    }
}
}
Daniel Vega Balbin

Programación y diseño orientado a objetos :evil: :ugeek:

User avatar
atv234
Posts: 78
Joined: Tue Jan 19, 2016 12:05 pm

Assets

Post by atv234 » Wed Aug 08, 2018 9:02 pm

Image
Image
Daniel Vega Balbin

Programación y diseño orientado a objetos :evil: :ugeek:

User avatar
SebasARZ25
Posts: 19
Joined: Thu Jul 26, 2018 6:28 am

Primer prototipo de diseño de nivel

Post by SebasARZ25 » Wed Aug 08, 2018 9:13 pm

Image
Juan Sebastian Ariza Jimenez
Programación orientada a objetos

User avatar
atv234
Posts: 78
Joined: Tue Jan 19, 2016 12:05 pm

Codigo vida

Post by atv234 » Wed Aug 08, 2018 9:14 pm

Code: Select all

public int Lives
    {
        get
        {
            return lives;
        }
        set
        {

            this.lives = value;
           

            if (lives <= 0)
            {
                lives = 0;
                GameOver();
            }

            livesText.text = lives.ToString();
        }
    }

    /// <summary>
    /// Property for accessing the currency
    /// </summary>
    public int Currency
    {
        get
        {
            return currency;
        }

        set
        {
            this.currency = value;

            this.currencyText.text = value.ToString() + " <color=lime>$</color>";

            OnCurrencyChanged();
        }
    }

    /// <summary>
    /// Proprty for accessing the stats
    /// </summary>
    public Text Stats
    {
        get
        {
            return stats;
        }
    }

    /// <summary>
    /// Property for accessing the SizeText
    /// </summary>
    public Text SizeText
    {
        get
        {
            return sizeText;
        }
    }

    #endregion

    
    /// The game manager's awake function
    
    private void Awake()
    {
        //Instantiates the object pool
        Pool = GetComponent<ObjectPool>();
    }

    
    /// The gameManager's start function
    
    private void Start()
    {
        //Sets the lives and currency
        Lives = 10;
        Currency = 4;

    }
 
Daniel Vega Balbin

Programación y diseño orientado a objetos :evil: :ugeek:

User avatar
atv234
Posts: 78
Joined: Tue Jan 19, 2016 12:05 pm

Re: ARZ VEGA - Epcot

Post by atv234 » Thu Aug 09, 2018 6:13 am

¿Que hicimos?

Se creo la programación de la vida y las perdías cuando un enemigo logra llegar a nuestra base, diseño del suelo, diseño del mapa

¿Que vamos a hacer?

Continuar con la programación del enemigo y usar pool en el disparo

¿Que dificultades?

Se bloqueo holamundo con el adblock, Daniel continua enfermo :(
Daniel Vega Balbin

Programación y diseño orientado a objetos :evil: :ugeek:

Post Reply