Inteligencia artificial basica:
var maximaVelocidad = 2.0;
var tiempoMinimoCaminando = 2.0;
var tiempoMaximoCaminando = 16.0;
var tiempoMinimoParado = 2.0;
var tiempoMaximoParado = 8.0;
var tiempoMinimoGirar = 4.0;
var tiempoMaximoGirar = 32.0;
var velocidadGiro = 160.0;
private var parado = true;
private var girando = false;
private var rotacion = 0.0;
private var girado = 0.0;
private var giradoTotal = 0.0;
private var tiempoCaminar = 0.0;
private var tiempoParar = 0.0;
private var tiempoGirar = 0.0;
function Update () {
if (!girando) {
if (tiempoGirar<=0.0) {
tiempoGirar= Random.value*tiempoMaximoGirar;
if (tiempoGirar < tiempoMinimoGirar) tiempoGirar=tiempoMinimoGirar;
rotacion = (Random.value*720.0)-360.0;
girando=true;
} else tiempoGirar-=Time.deltaTime;
} else {
girado=velocidadGiro * Time.deltaTime;
giradoTotal+=girado;
if (rotacion>=0.0) {
transform.Rotate(0, girado, 0);
if (rotacion<=giradoTotal) {
girando=false;
giradoTotal=0.0;
}
} else {
transform.Rotate(0, girado*-1, 0);
if (rotacion>=giradoTotal*-1) {
girando=false;
giradoTotal=0.0;
}
}
}
if (parado) {
if (tiempoCaminar<=0.0) {
parado = false;
tiempoParar= Random.value*tiempoMaximoParado;
if (tiempoParar < tiempoMinimoParado) tiempoParar=tiempoMinimoParado;
GetComponent(ConstantForce).constantForce.relativeForce = Vector3.forward * maximaVelocidad;
}
tiempoCaminar-=Time.deltaTime;
} else {
if (tiempoParar<=0.0) {
parado = true;
tiempoCaminar= Random.value*tiempoMaximoCaminando;
if (tiempoCaminar< tiempoMinimoCaminando) tiempoCaminar=tiempoMinimoCaminando;
GetComponent(ConstantForce).constantForce.relativeForce = Vector3.zero;
}
tiempoParar-=Time.deltaTime;
}
}