sábado, 25 de julio de 2015

Ciclo For en Unity


En este apartado mostrare los ciclos for en unity, el ciclo for o tambien conocidos como bucles se utiliza para realizar repeticiones, cuando uno conoce las veces que se va a repetir una accion deseada, para ello necesitamos conocer como se manejan, el ciclo for esta compuesto por 3 partes, la inicializacion que es el comienzo del ciclo que vamos a iniciar, la segunda parte la compone la condicion o limite que seran las instrucciones para llevar a cabo el ciclo, la ultima parte sera el incremento o decremento que efectuara el ciclo entre la cantidad de pasos de incremento o decremento hasta cumplir la condicion.

1.- Crearemos un gameobject vacio en nuestro espacio 3D el cual nos servira para que le asignemos nuestro script.

2.- Crearemos un C# script para representar el codigo del for para ello llamaremos InventarioArmas a nuestro script y le daremos doble clic para entrar al monodevelop.

3.- Simularemos un ciclo for el cual estara en una funcion que se llamara BuscarEnemigos el cual tambien simularemos como si estuvieramos a una distancia de un enemigo y mostraremos un mensaje si lo estamos mediante una variable entera que estara en el ciclo for, la funcion se efectuara cada vez que le demos la barra espaciadora, a continuacion el codigo.

InventarioArmas.cs

using UnityEngine;
using System.Collections;

public class InventarioArmas : MonoBehaviour {

 //Creamos una variable entera donde definiremos el numero de arma
 //que corresponde
 public int arma = 0;

 //variable para el nombre del arma
 public string nombreArma;

 public int enemigoDistancia = 0;
 
 void Start () 
 {
 
 }

 void Update ()
 {
  //Realizaremos una condicion que cuando el jugador le presione
  //la barra espaciadora escoja el arma.
  if(Input.GetKeyUp("space"))
  {
   //mandamos a llamar a nuestra funcion
   BuscarArma();

   //Cada vez que le de la barra mostrara ademas el mensaje de lo encontrado
   MostrarMensaje();

   //Cada vez que le demos a la barra simularemos buscar un enemigo
   BuscarEnemigo();
  }
 }

 //Esta es nuestra funcion para buscar un arma en el inventario
 void BuscarArma()
 {
  //Escogeremos un arma de nuestro inventario de manera aleatoria.
  arma = Random.Range(1, 7); //se manejara un rango de 1 a 5
  
  switch( arma )
  {
   //Se manejaran varios tipos de armas dependiendo el numero que toque de manera aleatoria
  case 1:
   nombreArma = "Espada";
   break;
  case 2:
   nombreArma = "Lanza";
   break;
  case 3:
   nombreArma = "Acha";
   break;
  case 4:
   nombreArma = "Escudo";
   break;
  default:
   print ("No encontraste nada");
   nombreArma = "";
   break;
  }
 }

 //Creamos otra funcion donde te mostrara un mensaje
 void MostrarMensaje()
 {
  //colocaremos una condicion de que cuando el numero de arma
  //sea menor a 5 que coloque el nombre del arma
  if(arma < 5)
  {
   print ("Tu encontraste un(a) " + nombreArma);
  }
 }

 void BuscarEnemigo()
 {
  //creamos nuestro ciclo for
  for( int i = 0; i < 5; i++ )
  {
   //Crearemos una distancia aleatoria para simular que tan lejos o cerca 
   //se encuentra el enemigo
   enemigoDistancia = Random.Range(1, 10);

   //Crearemos 3 condiciones para simular la situacion en la que nos 
   //encontramos con el enemigo en cuestion
   if( enemigoDistancia >= 8 )
   {
    print ("El enemigo se encuntra demasiado lejos");
   }

   if( enemigoDistancia >= 4 && enemigoDistancia <= 7 )
   {
    print ("El enemigo se acerca poco a poco");
   }

   if( enemigoDistancia < 4 )
   {
    print ("El enemigo esta respirando en tu cara");
   }
  }
 }
}



4.- Asignamos el script al gameobject y le daremos reproducir,  en la pantalla azul le daremos la barra espaciadora, primero nos aparecera un arma que hayamos encontrado y poco despues la simulacion al encontrarnos con un enemigo.



No hay comentarios:

Publicar un comentario