Bueno despues de programar miles de cosas en mis juegos (personaje principal... menus... entre otras cosas) llego el momento de ir a la primera batalla del juego... por lo que tengo que desarrollar una I.A.
Creo (proyectandome) que no me va a costar tanto la IA... lo unico que necesito es esto de decidir entre dos cosas o mas...
Con que accion se hace?
por eso te refieres a hacer acciones aleatoriamente?.si es asi deberias usar una variable temporal,tirarle el valor al azar y usar la sentencia switch para hacer las acciones
salu2
seria como dice kakashigna algo asi como usar random (acordandote de usar round para quitarle decimales) y decidir entre sus x valores posibles
pongamos el ejemplo de elegir entre 3 acciones:
eleccion=round(random(2));
switch(eleccion){
case 0: ACCION 1;break;
case 1: ACCION 2;break;
case 2: ACCION 3;break;
}
No recuerdo muy bien, pero se que con el random de game maker pocas veces olerias el caso 0, pero entraba dentro de las posibilidades, tendras constancia de que la que mas se repite es el caso 1 entre esos 3
Cita de: bonachiu en Diciembre 26, 2009, 03:40:08 PM
seria como dice kakashigna algo asi como usar random (acordandote de usar round para quitarle decimales) y decidir entre sus x valores posibles
pongamos el ejemplo de elegir entre 3 acciones:
eleccion=round(random(2));
switch(eleccion){
case 0: ACCION 1;break;
case 1: ACCION 2;break;
case 2: ACCION 3;break;
}
No recuerdo muy bien, pero se que con el random de game maker pocas veces olerias el caso 0, pero entraba dentro de las posibilidades, tendras constancia de que la que mas se repite es el caso 1 entre esos 3
por eso el random no es muy bueno deberia ser asi:
var eleccion;
eleccion=choose(0,1,2)
switch(eleccion){
case 0: ACCION 1;break;
case 1: ACCION 2;break;
case 2: ACCION 3;break;
}
el choose debuelve alguno de sus argumentos de forma relativa lo malo es que el tope son 16,pero deberia bastar con eso xd
salu2
Otra forma es darle prioridad a las multiples acciones que puede realizar tu IA, eso si, debes saber las posibles circunstancias que pueden ocurrir. Una forma de hacerlo es decidir varias circunstancias y aplicarlas en profundidades de un If, por ejemplo:
if (obj_personaje.vida=100)
{
accion...
}
else
{
if (obj_personaje.level>3)
{
accion2...
}
else
{
if (obj_personaje.energia>50)
{
accion3...
}
else
{
accion4 por default....
}
}
}
o bien puedes usar un switch.... la idea en este caso es que la acci?n de la IA sea un poco m?s manipulable dependiendo las circunstancias.