Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: lord103 on April 23, 2010, 12:40:01 AM

Title: Se pueden asignar funciones a procesos?
Post by: lord103 on April 23, 2010, 12:40:01 AM
bueno, esa es la pregunta, ¿se puede crear una funcion y asignarsela a un proceso?
algo asi como enemigo::Crear(); y que se pueda llamar como la funcion colision

Title: Re: Se pueden asignar funciones a procesos?
Post by: FreeYourMind on April 23, 2010, 12:47:05 AM
Se puede asignar un id, no entiendo muy bien lo que pides.
Title: Re: Se pueden asignar funciones a procesos?
Post by: lord103 on April 23, 2010, 01:23:02 AM
algo como esto

primero creo el proceso de enemigo
process enemigo();

luego creo esta funcion
function crear_enemigo();

se le asignaria la funcion al proceso enemigo
enemigo:crear_enemigo();

luego desde cualquier enemigo llamo la funcion
enemigo mi_enemigo;
mi_enemigo.crear_enemigo();

o algo util para asignarle una funcion de creaccion diferente a cada enemigo sin tener que hacer
if(enemigo.process_type==araña)
************
elseif(enemigo.process_type==gnomo)
************
elseif.............................
Title: Re: Se pueden asignar funciones a procesos?
Post by: Prg on April 23, 2010, 02:13:28 AM
que yo sepa no, eso me parece a POO.

bennu no puede hacer eso, o si?
Title: Re: Se pueden asignar funciones a procesos?
Post by: FreeYourMind on April 23, 2010, 08:16:00 AM
Prg tiene razón, eso es programación POO.
Title: Re: Se pueden asignar funciones a procesos?
Post by: Danielo515 on April 23, 2010, 08:21:45 AM
jooo, no quiero quedarme sin decir yo también que eso me suena a poo, pero a poo rara, ja ja ja.

De todos modos, no veo la necesidad de un enemigo con esa función, simplemente, llama a más enemigos desde el proceso enemigo.
Title: Re: Se pueden asignar funciones a procesos?
Post by: Drumpi on April 23, 2010, 01:17:31 PM
Puedes crear funciones genéricas para que se usen desde cualquier proceso, pero para que actúen según cada cual, tendrías que hacer lo que haces, o bien trabajar con punteros y crear listas.
En clase nos enseñaban a trabajar con funciones del tipo:

datos_enemigo crear_enemigo (tipo);
eliminar_enemigo (pos_lista);
int buscar_enemigo( datos_enemigo valores);
int leer_datos_enemigo (pos, n_dato);
...

Que si, que son las típicas funciones de una clase, pero sin usar clases, sólo estas funciones agrupadas en cierta parte del código, y una lista enlazada de datos ^^U
Title: Re: Se pueden asignar funciones a procesos?
Post by: Windgate on April 23, 2010, 02:47:59 PM
Esta es una de las sugerencias que han quedado para Bennu 2.0, que se soporten funciones en un ámbito público o privado de un proceso, como si de variables se trataran.

Ciertamente es sustituible declarando las funciones en cierta parte del código, pero sería interesante tener esta funcionalidad y por ejemplo poder acceder a uno de esos "métodos" desde la variable father, como en POO sí.

Incluso se podría implementar herencia para que unos procesos heredasen variables y métodos de otros... Sería placentero :D
Title: Re: Se pueden asignar funciones a procesos?
Post by: lord103 on April 24, 2010, 04:19:01 AM
Si, seria muy placentero.
Solo he programado en Poo (pinche java) y me ha sido dificil acostumbrarme a la estructurada :(
Title: Re: Se pueden asignar funciones a procesos?
Post by: Drumpi on April 24, 2010, 12:17:57 PM
Mejor, así no tendrás problemas en pasarte a C++ o a C ;D