Edd en el castillo -[EMPREXA]

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

Moderator: julianmartinez16

eduluisf
Posts: 12
Joined: Fri Jan 24, 2020 2:05 pm

Re: Edd en el castillo -[EMPREXA]

Post by eduluisf » Wed Mar 11, 2020 1:50 pm

Image

Image

Image


¿Qué se hizo?
Torretas modelado low poly

¿Qué se va a hacer?
Texturizacion,y esculpido

¿Qué problemas ha tenido?

Buenas texturas
Eduardo Luis Sierra Fragozo- POO

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

Re: Edd en el castillo -[EMPREXA]

Post by xacarana » Wed Mar 11, 2020 2:05 pm

Image

La publicación debe tener mayor contenido en avance con respecto al juego y la programación. La próxima publicación debemos ver un video del juego y el código. No es relevante el diseño, ya que ustedes están dedicando más tiempo a la parte 3D que no hace parte de las competencias que buscamos con el. Mejoren la publicación de hoy y de la próxima clase, además falta la descripción de las imágenes.
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
danielcastillo460
Posts: 11
Joined: Fri Jan 24, 2020 2:22 pm

Re: Edd en el castillo -[EMPREXA]

Post by danielcastillo460 » Fri Mar 13, 2020 1:46 pm

Creación del codigo de la clase disparo

Code: Select all

class Disparo
    {
        private int[] pos;
        private bool destroyed;

        public Disparo(int[] pos)
        {
            this.pos = pos;
            this.destroyed = false;
        }

        public int[] Pos { get => pos; set => pos = value; }
        public bool Destroyed { get => destroyed; set => destroyed = value; }

        public void MovX()
        {
            Pos[0]++;
        }

        public void MovY()
        {
            Pos[1]++;
        }

        public void Destroy()
        {
            Destroyed = false;
        }
    }

Creación de la clase enemigos

Code: Select all

class Enemigo
    {
        private float vida;
        private float velocidad;
        private byte tipo;
        private int[] pos;
        private bool destroyed;

        public Enemigo(byte tipo, int[] pos)
        {
            this.tipo = tipo;
            this.pos = pos;
            if (tipo == 1)
            {
                this.vida = 250;
                this.velocidad = 5;
                this.destroyed = false;
            }
        }

        public float Vida { get => vida; set => vida = value; }
        public float Velocidad { get => velocidad; set => velocidad = value; }
        public byte Tipo { get => tipo; set => tipo = value; }
        public int[] Pos { get => pos; set => pos = value; }
        public bool Destroyed { get => destroyed; set => destroyed = value; }

        public void ReducirVida(){
            Vida -= 10;
        }

        public void MovX(){
            Pos[0]++;
        }

        public void MovY(){
            Pos[1]++;
        }

        public void Destroy(){
            Destroyed = false;
        }
    }
¿Qué se hizo?
Creación de la programación de la clase enemigo y disparo, con sus respectivos metodos y atributos

¿Qué se va a hacer?
Continuación de la texturizacion y programación de los metodos faltantes

¿Qué problemas ha tenido?

Toma de desiciones en base a los metodos de las clases
Problemas de acceso a cuenta
Daniel Jesus Castillo Botero
Estudiante POO

eduluisf
Posts: 12
Joined: Fri Jan 24, 2020 2:05 pm

Re: Edd en el castillo -[EMPREXA]

Post by eduluisf » Wed Mar 18, 2020 12:06 pm

[csharp]

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

public class AudioManager : MonoBehaviour
{
#region Static Instance
private static AudioManager instance;

public static AudioManager Instance
{



get
{





if (instance == null)
{

instance = FindObjectOfType<AudioManager>();

if (instance == null)
{

instance = new GameObject("Spawn GameManager", typeof(AudioManager)).GetComponent<AudioManager>();
}


}

return instance;

}



set {

instance = value;
}

}

#endregion

#region Fields
private AudioSource Audio1;
private AudioSource Audio2;
private AudioSource SFX;

private bool PrimeraMusica;

#endregion

private void Awake()
{
DontDestroyOnLoad(this.gameObject);

Audio1 = this.gameObject.AddComponent<AudioSource>();
Audio2 = this.gameObject.AddComponent<AudioSource>();
SFX = this.gameObject.AddComponent<AudioSource>();

Audio2.loop = true;
Audio1.loop = true;




}

private void Playmusic(AudioClip Clip) {

AudioSource ActiveSource = (PrimeraMusica) ? Audio1 : Audio2;



ActiveSource.clip = Clip;
ActiveSource.volume = 1;
ActiveSource.Play();


}

private void PlaymusicFade(AudioClip NewClip, float Trans = 1.0f)
{

AudioSource ActiveSource = (PrimeraMusica) ? Audio1 : Audio2;

StartCoroutine(UpdateMusicFade(ActiveSource, NewClip, Trans));



}

private void PlaymusicCrossFade(AudioClip NewClip, float Trans = 1.0f)
{

AudioSource ActiveSource = (PrimeraMusica) ? Audio1 : Audio2;
AudioSource SecondSource = (PrimeraMusica) ? Audio1 : Audio2;

PrimeraMusica = !PrimeraMusica;

SecondSource.clip = NewClip;
SecondSource.Play();

StartCoroutine(UpdateMusicFade(ActiveSource, NewClip, Trans));




}

private IEnumerator UpdateMusicFade(AudioSource ActiveSource,AudioClip NewClip, float Trans) {

if (!ActiveSource.isPlaying) ActiveSource.Play();

float t = 0.0f;

for (t = 0; t<Trans; t+=Time.deltaTime) {

ActiveSource.volume = (1 - (t / Trans));
yield return null;
}

ActiveSource.Stop(); ;
ActiveSource.clip = NewClip;
ActiveSource.Play();

for (t = 0; t < Trans; t += Time.deltaTime)
{ ActiveSource.volume = ( (t / Trans));
yield return null;
}


}

private IEnumerator UpdateMusicCrossFade(AudioSource Original, AudioSource NewSource, float Trans)
{
float t = 0.0f;

for (t = 0; t < Trans; t += Time.deltaTime)
{
Original.volume = (1 - (t / Trans));
NewSource.volume = ((t / Trans));

yield return null;
}

Original.Stop();

}

public void PlaySFX(AudioClip SClip)
{

SFX.PlayOneShot(SClip);


}

public void PlaySFX(AudioClip SClip,float volume)
{

SFX.PlayOneShot(SClip);


}

public void SetMusicVolume(float Volume) {

Audio1.volume = Volume;
Audio2.volume = Volume;

}

public void SetSFXVolume(float Volume)
{

SFX.volume = Volume;


}
}

[/csharp]
Eduardo Luis Sierra Fragozo- POO

eduluisf
Posts: 12
Joined: Fri Jan 24, 2020 2:05 pm

Re: Edd en el castillo -[EMPREXA]

Post by eduluisf » Wed Mar 18, 2020 12:09 pm

¿Qué se hizo?
Audio Manager con funciones para SFX, CrossFade y Fade.

¿Qué se va a hacer?
Creación sonora y creación multijugador.

¿Qué problemas ha tenido?

Creación Multijugador.
Eduardo Luis Sierra Fragozo- POO

User avatar
danielcastillo460
Posts: 11
Joined: Fri Jan 24, 2020 2:22 pm

Re: Edd en el castillo -[EMPREXA]

Post by danielcastillo460 » Fri Mar 27, 2020 10:40 pm

Corección de los metodos de movimiento del enemigo:

Code: Select all


public void MovX(bool direccion){
            if (direccion)
            {
                Pos[0]++;
            }
            else {
                Pos[0]--;
            }
        }

        public void MovY(bool direccion){
            if (direccion)
            {
                Pos[1]++;
            }
            else
            {
                Pos[1]--;
            }
        }

Adición de nuevos tipos de enemigos, no funcionales y modificación de acceso a los datos por medio de los accesores

Code: Select all


public Enemigo(byte tipo, int[] pos)
        {
            Tipo = tipo;
            Pos = pos;
            if (tipo == 1)
            {
                vida = 250;
                velocidad = 5;
                destroyed = false;
            }
            if (tipo == 2)
            {
                vida = 100;
                velocidad = 20;
                destroyed = false;
            }
            if (tipo == 3)
            {
                vida = 400;
                velocidad = 2;
                destroyed = false;
            }
        }

Complementación de la clase disparo con el target y uso de los accesores

Code: Select all


	private int[] pos;
        private Enemigo target;
        private bool destroyed;

        public Disparo(int[] pos, Enemigo target)
        {
            Pos = pos;
            Target = target;
            Destroyed = false;
        }

Implementación del metodo disparar de la clase torreta

Code: Select all


public Disparo disparar(Enemigo target)
        {
            Disparo disparo = new Disparo(Pos,target);
            return disparo;
        }

¿Qué se hizo?
Complementacion de las clases Disparo, Torreta y enemigo

¿Qué se va a hacer?
Implementación del sistema de disparos y movilidad

¿Qué problemas ha tenido?

Sistema de movilidad
Daniel Jesus Castillo Botero
Estudiante POO

eduluisf
Posts: 12
Joined: Fri Jan 24, 2020 2:05 pm

Re: Edd en el castillo -[EMPREXA]

Post by eduluisf » Wed Apr 01, 2020 3:31 pm

Last edited by eduluisf on Wed Apr 01, 2020 3:43 pm, edited 1 time in total.
Eduardo Luis Sierra Fragozo- POO

eduluisf
Posts: 12
Joined: Fri Jan 24, 2020 2:05 pm

Re: Edd en el castillo -[EMPREXA]

Post by eduluisf » Wed Apr 01, 2020 3:53 pm

Eduardo Luis Sierra Fragozo- POO

eduluisf
Posts: 12
Joined: Fri Jan 24, 2020 2:05 pm

Re: Edd en el castillo -[EMPREXA]

Post by eduluisf » Wed Apr 01, 2020 3:54 pm

¿Qué se hizo?
Preeentrega

¿Qué se va a hacer?
Corregir buscar enemigos y el design level. Las cosas funcionan pero deberia tener mejor factura.

¿Qué problemas ha tenido?
Ir a donde esta el enemigo y factura del juego
Eduardo Luis Sierra Fragozo- POO

eduluisf
Posts: 12
Joined: Fri Jan 24, 2020 2:05 pm

Re: Edd en el castillo -[EMPREXA]

Post by eduluisf » Wed Apr 01, 2020 10:16 pm

Eduardo Luis Sierra Fragozo- POO

Post Reply