10. enumeraciones y propiedades. es un tipo de estructura en la que los literales de los valores que...

Post on 06-Jan-2015

13 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

10. Enumeraciones y Propiedades

Es un tipo de estructura en la que los literales de los valores que pueden tomar sus objetos se indican explícitamente al definirlas.

enum TipoCarta{

Pica,Diamante,Trébol,Corazones

}

Se utilizaban “Flags”, típicamente int o char, para indicar qué estado o tipo era.

Para el tipo de cartas se podía indicar:

int tipoCarta;

0 : Pica1 : Diamante2 : Trébol3 : Corazones

enum <nombreEnumeración> : <tipoBase>{

<literal_1>,<literal_2>,…<literal_n>

}

Sólo puede tener como miembros campos públicos, constantes y estáticos.

enum NumeroCarta: int{

as = 1,dos,tres,cuatro,cinco,…jota = 11,quina = 12,kaiser = 13

}

Una variable de tipo enumerado se define igual que cualquier otra variable:

<nombreTipo> <nombreVariable>;

TipoCarta tipo;NumeroCarta numero;

Para la asignación, se debe asignar a la variable cualquiera de los valores de la enumeración:

<nombreVariable> = <valor_nombreTipo>;

tipo = TipoCarta.Corazones;Numero = NumeroCarta.kaiser;

Fuente: http://xnacommunity.codeplex.com/Wiki/View.aspx?title=IA_maqestados&referringTitle=Noticias

Cómo un enemigo decide realizar una acción? Qué lo hace decidir?

Podemos definirles estados:◦ Buscar◦ Patrullar◦ Seguir

En un momento determinado estamos en un estado.

Si se cumple una condición se salta a otro estado.

Estados básicos del loop de un videojuego.

Estados de acciones de un enemigo.

Es una mezcla entre el concepto de variable y el concepto de método.

Externamente es accedida como si de una variable se tratase.

Internamente es posible asociar código a ejecutar en cada asignación o lectura de su valor.

<tipoPropiedad> <nombrePropiedad>{

set{

<códigoEscritura>}

 get{

<códigoLectura>}

}

En cada lectura se ejecuta el <codigoLectura>, y en cada escritura a la variable se ejecuta el <codigoEscritura>.

get : retorna el valor de la variable asociada a la propiedad.

set : cambia el valor de la variable asociada a la propiedad.

En cada lectura se ejecuta el <codigoLectura>, y en cada escritura a la variable se ejecuta el <codigoEscritura>.

get : retorna el valor de la variable asociada a la propiedad.

set : cambia el valor de la variable asociada a la propiedad.

public float Velocity{

get { return velocity; }set { velocity = value; }

}

get utiliza “return” para retornar un valor. set utiliza “value” para asignar un valor.

Las propiedades también pueden sólo asignar o sólo retornar el valor.

public Sprite SpriteBall {

get { return sp; }}

Ball ball;ball = new Ball(sm, "balon", 0, 0);

ball.SpriteBall.X = 0;ball.SpriteBall.Y = 0;

if( ball.Y <= 0)ball.Y = 0;

top related