lunes, 21 de abril de 2014

Bucles y funciones.

Bucles:
Repiten una y otra vez un código mientras se cumpla una condición.
Los dos mas frecuentes son:

-While: ejecutan constantemente un código mientras se cumpla X condición.

Ejemplo:
Todo videojuego es un gran while , que permite comprobar una y otra vez si tenemos pulsada alguna tecla, si nos ha golpeado un enemigo etc....
 Así que el ejemplo mas claro que se me ocurre es este:

while (vida>0) {
    if (pulsado letra W == true ){
        mover personaje hacia arriba
     }
    if (pulsado espacio == true){
        el personaje ataca
     }
    etc....
}
Mientras nuestra vida sea mayor que 0 se ira comprobando una y otra vez si tenemos pulsada alguna tecla,nos han atacado, si el ataque nos ha golpeado etc...


-For:
Se suele usar para repetir un código cierto número de veces.+
Ejemplo:

for (recuperarHp= 1 ; recuperarHp<10 ; recuperarHp++){
    vida++;
}

En este ejemplo ,seria una manera muy rápida de hacer una poción de regeneración (habría que ponerle una manera de que lo haga durante X tiempo, tal como esta lo procesaría tan rápido que seria lo mismo que sumarle 10 a la vida directamente).

Su funcionamiento es similar al de un while , en el que mientras la variable "recuperarHp" fuese menor a 10 se ejecutase el código "vida++" (suma uno a la variable vida, seria lo mismo que escribir: " vida = vida+1; " ). Pero se diferencia de un while en la sentencia "recuperarHp = 1" en la que da el valor 1 a la variable "recuperarHp" la primera vez que se inicie el bucle for , y en la sentencia "recuperarHP++" que suma 1 a la variable recuperarHp cada vez que se "reinicia" el código que hay dentro del for.

Funciones:

Las funciones nos permiten guardar un código para que no tengamos que repetirlo varias veces.
Ejemplo:

Disparo(){
   Generar bala;
   Darle una velocidad;
   Ejecutar sonido de disparo;
}

Esta función por ejemplo, vendría bien si además de nosotros también pueden disparar varios tipos de enemigos, por lo que en vez de tener que repetir todo, solo tendríamos que poner "Disparo()" para ejecutar todo el código de la función.

Otra característica de las funciones es que pueden "acceder" a variables. Para que lo veáis mejor os pondré el siguiente ejemplo:

Disparo(int velocidadBala){
    Generar bala;
    Dar a la bala la velocidad "velocidadBala" ;
    Ejecutar el sonido de disparo;
}

Aquí, estamos creando la variable "velocidadBala" para esta función , lo cual seria útil si por ejemplo nuestras balas van a distinta velocidad que la de el enemigo,o van a distinta velocidad según sea un tipo de munición u otra.

Ejemplo:
Ahora al escribir:

int  velocidadBalaAliado = 20;
int velocidadBalaEnemigo = 15;

Disparo(velocidadBalaAliado);

(En este primer disparo la variable "velocidadBala" que pusimos antes tomara el valor de la variable "velocidadBalaAliado", por lo que el disparo iría a una velocidad de 20)

Disparo(velocidadBalaEnemigo);

(En cambio ahora en este otro la variable "velocidadBala" tomara el valor de "velocidadBalaEnemigo" por lo que el disparo iría a una velocidad de 15)

Y bueno , hasta aquí llega esta entrada , si tenéis cualquier duda ponedla por los comentarios y os la solucionare en cuanto pueda.
Saludos ;) .

No hay comentarios:

Publicar un comentario