Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

Si, claro, existe la SAY...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Jur, me había sorprendido la respuesta porque no me la esperaba,no me he explicado bien, bueno confundí fprintf con fscanf, y me he asustado al creer que con SAY se le podía pedir a un usuario una cadena.
He rehecho la pregunta en el reply anterior.
Saludos.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

No, scanf para input de teclado es una funcion blockeante, no es logica para un lenguaje para programacion de videojuegos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

:D. Todo juego que se digne debe tener un hiscore, ya me dirás si sería util para poder registrar las iniciales. Ahora tengo implementado teniendo que usar variables globales, obteniendo el codigo asccii, restando, sumando cadenas, etc y control de bloqueo manual :D.
Pero bueno, yo lo decia por ayudar a ello. Si es chungo de meter en el nucleo y eso pues nada a la manera dificil dificilisima siempre se podrá. No hay nada imposible sino solo casi imposible   ::)
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

Pero no se hace un scanf, es demasiado simple hacer un input por codigo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

No es que sea imposible, no es logico...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Lo que quiere decir es que un fscanf paraliza todo el código hasta que el usuario introduce la cadena de texto, y como lenguaje concurrente eso no se DEBE hacer. Y aunque se implementase de forma no bloqueante, cada vez que pulsas una tecla puedes provocar que otros procesos respondan (crear un proceso disparo, mover al personaje...)
Si usas la global ASCII en un bucle verás lo sencillo que es hacer un input. Creo que por el foro de Fenix ya se ha puesto unos cuantos ejemplos.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

Si, bueno da igual, me refería a que formara parte del núcleo alguna forma para recibir información del usuario y no tener que hacerla a manini. Como decís hay por ahí código para ello. Tema zanjado.
Por otro lado SplinterGU, que buenas nuevas tienes? ¿Ya estás liado con la parte del teclado y el video?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

#83
3/6:

- Se corrige comportamiento de los tipos de datos CHAR  (espero que no quede ningun bug)... ahora son realmente strings de ancho fijo (1 caracter o arrays N caracteres)...

- Se agrega labels (etiquetas) locales y nuevas instrucciones de control de flujo (al momento goto) al mejor estilo C.

[code language="c"]#include <stdio.h>
int main()
{
etiqueta: //La etiqueta
    printf("Uso del GOTO");
    goto etiqueta;
}
[/code]

[code language="bennu"]
import "mod_say"
begin
etiqueta: //La etiqueta
    say("Uso del GOTO");
    goto etiqueta;
end
[/code]

- OnExit pasa a comportarse como una etiqueta (especial)

- Ya casi tengo el formato definitivo del dcb (version Bennu 1.0), que con el cambio de etiquetas ahora se podran poner cosas al estilo "ON ERROR" sin necesidad de tocar el dcb.

- El dcb ya casi es totalmente portable entre plataformas de diferentes byteorders, solo me queda recorrer las variables y darles el formato adecuado segun corresponda... (obviamente, y probarlo...)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: dcelso on June 03, 2008, 01:18:53 PM
Si, bueno da igual, me refería a que formara parte del núcleo alguna forma para recibir información del usuario y no tener que hacerla a manini. Como decís hay por ahí código para ello. Tema zanjado.
Por otro lado SplinterGU, que buenas nuevas tienes? ¿Ya estás liado con la parte del teclado y el video?
No aun, me urgen otras cosas para cerrar el tema del core, que es lo mas cercano a ser liberado... el teclado esta desde hace mucho tiempo, salvo que al no tener video no se puede usar, pero por ejemplo usando el modulo 3d de coldev como driver de video, el modulo de teclado funciona a la perfeccion...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

okis, entonces a esperar toca. ¿Tienes pensada alguna estimación de tiempo para liberarla?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

#86
Quote from: SplinterGU on June 03, 2008, 01:24:24 PM
3/6:
- Se corrige comportamiento de los tipos de datos CHAR  (espero que no quede ningun bug)... ahora son realmente strings de ancho fijo (1 caracter o arrays N caracteres)...

Umm... creo que no lo escribi bien...

CHAR son strings de 1 byte (son el analogico a BYTE, pero que manejan strings), pero pueden ser usados en expresiones numericas.

EDIT: Hoy no estoy bien... donde decia "SIGNED BYTE" lo cambie por "BYTE"
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quote from: dcelso on June 03, 2008, 03:35:52 PM
okis, entonces a esperar toca. ¿Tienes pensada alguna estimación de tiempo para liberarla?

Sin presion por favor... :)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

kim-elet-o

Dioooxxx, recuperamos el GOTO, jejejejejeje, no lo utilizaba desde aprendi a programar en pascal, y deje el quick basic, bienvenido abuelo GOTO, vuelves a entrar en accion.


P.D: bueno de hecho si lo uso, lo uso en un lenguaje de psudocodigo que estoy creando para manejar la logica de los enemigos en un juego de machacamarcianos, jejejeje, pero no si lo llegare a acabar algun dia.
|/
|\im-elet-o el yayo programador.

SplinterGU

#89
GOTO/JMP y voy a agregar GOSUB/CALL para rutinas rapidas que cuando terminen regresen al punto donde fueron llamados... serviran como funciones, pero son sin parametros, locales, y sin retorno por valor, ya que usan el mismo espacio de variables que quien las llama, por ende son rapidisimas...
Y otras funciones mas de este estilo... que ya se informaran...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2