Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: omarpower en Noviembre 28, 2012, 07:40:34 AM

Título: Crear un buscador
Publicado por: omarpower en Noviembre 28, 2012, 07:40:34 AM
bueno, tengo poco desarrollando en game maker, e hecho algunos juegos shooter, RPG y demas, pero ahora
quiero desarrollar un juego TCG, y me e encontrado con este gran problema.

Con respecto al funcionamiento de los objetos no hay mucho problema, simplemente que a la hora de tratar de hacer el buscador, me quede con un ¿?, como puedo hacer un buscador de objetos en game maker, queria empesar a trabajar con bases de datos, pero como lo are tambien para moviles, no se si esto funcione, no tengo esperiencia en ese ambito.

y mis preguntas son:
¿¿si desarrollo con bases de datos en mysql, se podra correr en moviles????
y si la respuesta es negativa como creo yo.
¿¿como puedo hacer un buscador, donde pueda yo buscar por alguna caracteristica de la carta, (raza, atake, etc etc)??? esto es por que quiero hacer un juego grande con muchisimas cartas
Título: Re:Crear un buscador
Publicado por: penumbra en Noviembre 28, 2012, 10:17:12 AM
Yo soy novato y apenas estoy con mi primer proyecto, todavía no llego a esa parte, pero necesitaré algo parecido a lo que tu quieres, para el sistema de inventario.

Tendrías que usar arreglos o listas. Nunca he usado listas, así que yo lo haría con arreglos. Cada fila del arreglo equivaldría a una carta. Una columna del arreglo indicaría el ataque, otra el nombre, otra el tipo, etc.

Habría que crear un script que fuera capaz de ordenar alfabéticamente dos palabras, comparando letra por letra, para saber qué nombre va primero y cuál después. También habría que comparar por nivel de ataque, pero eso es sencillo, con '>', '==', '<', etc. Posiblemente "recorrerías" las columnas del arreglo con ciclos for.

Seguro alquien con más conocimiento da una solución detallada, y nos aclara el panorama XD
Título: Re:Crear un buscador
Publicado por: romon_28 en Noviembre 28, 2012, 02:20:04 PM
Yo estoy haciendo un buscador de carte yu gi oh de la 1º y 2º generacion.
No se que es el mysql, pero se como hacer para buscar una.

Para empezar primero se tiene en cuenta que tiene que existir un objeto que busque (Obj_Buscador) y otro que seria el objeto donde vamos a buscar (Obj_Carta)

Tendremos que obtener la "id" de todas las instancias del Obj_Carta
No se donde crearate las instancias del Obj_Carta pero podes hacerlo asi:

Ev_Create de Obj_Buscador:

var i, In;

Lista = ds_list_create();

for( i=0 ; i<20 ; i+=1 )
{
  In = instance_create(0,0,Obj_Carta);
  ds_list_add(Lista,In)
}

O sino asi:

Ev_Create de Obj_Buscador:

Lista = ds_list_create();
alarm[0]=1;

Ev_Alarm "0" de Obj_Buscador:

with(Obj_Carta)
{
  ds_list_add(other.Lista,id);
}

Una vez que pudiste objener la "id", podremos buscar la instancia que necesitamos
claro que no simpre el buscador te tendra que regresar una carta. Por ej.: supongamos que buscamo una carta con ataque 1500, pero existen 4 cartas con esa propiedad. Por lo que el usuario tendria que tener acceso a esas 4 posibilidades. No asi es el caso de buscar un nombre en espesifico, ya que supongo que, cada una de las cartas tiene un nombre distinto a otro.

Teniendo lo anterior claro podremos continuar.

Procedemos a buscar las cartas:

Ev_create  de Obj_Buscador:
Buscar = "";
Busqueda = ds_list_create();

Ev_step  de Obj_Buscador:

switch(Buscar)
{

case "Nombre":

  var i, Nom;
 
  for(i=0;i<ds_list_size(Lista);i+=1)
  {

   Nom = ds_list_find_value(Lista,i).Nombre

   if (Nom = global.Buscar_Nombre)
   {

    ds_list_add(Busqueda,Nom);

   }

  }
  break;
}

Tene en cuenta que la variable "global.Buscar_Nombre"  es el nombre que el usuario va a buscar. y cuando puse "ds_list_find_value(Lista,i).Nombre", la varialbe Nombre tiene que existir en el Obj_Carte.

Todo esto es un poco complejo y falta que se termine, pero ese es tu trabajo.

suerte!

ROMON