Proyecto 'Ranita'

Started by Futu-block, February 10, 2010, 11:21:58 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

entonces si nombro una variable con byte y empiezo a darle valor...
¿hasta cuanto llegaré???

Rein (K´)ah Al-Ghul

Quote from: Futublog on February 17, 2010, 07:05:59 PM
entonces si nombro una variable con byte y empiezo a darle valor...
¿hasta cuanto llegaré???
byte es un byte ( q mal que suena eso :P)
entonces va desde 0 a 255...
en el manual de Osk estan los limites de los datos numericos...
pero el de los string kreo q no :P

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

Drumpi

Si string no tiene límites, entonces la única limitación es que cada letra sólo puede tener un valor entre 0 y 255, se supone (que son los valores ASCII).
El representar caracteres cirílicos y kanjis queda fuera del alcance ;D (tengo curiosidad por saber cómo se representan binariamente en otros sistemas)
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)

Rein (K´)ah Al-Ghul

Quote from: Drumpi on February 17, 2010, 08:18:24 PM
Si string no tiene límites, entonces la única limitación es que cada letra sólo puede tener un valor entre 0 y 255, se supone (que son los valores ASCII).
El representar caracteres cirílicos y kanjis queda fuera del alcance ;D (tengo curiosidad por saber cómo se representan binariamente en otros sistemas)
todo se representa binariamente de igual manera: o es cero o es uno XD
bueno un conjunto de unos y ceros...
supnogo que la clave esta en al codificacion unicode (UTF-x)
drumpi, el modulo que habia para imprimir en unicode no te dara una pista??

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

Futu-block

Quote from: Rein (K´)ah Al-Ghul on February 17, 2010, 07:20:39 PM
Quote from: Futublog on February 17, 2010, 07:05:59 PM
entonces si nombro una variable con byte y empiezo a darle valor...
¿hasta cuanto llegaré???
byte es un byte ( q mal que suena eso :P)
entonces va desde 0 a 255...
en el manual de Osk estan los limites de los datos numericos...
pero el de los string kreo q no :P

le eché un vistazo antes de preguntar, porque lo habia visto en algun lado...
tendré que mirar mas a fondo porque no lo vi

Drumpi

Quote from: Rein (K´)ah Al-Ghul on February 17, 2010, 09:40:42 PM
Quote from: Drumpi on February 17, 2010, 08:18:24 PM
Si string no tiene límites, entonces la única limitación es que cada letra sólo puede tener un valor entre 0 y 255, se supone (que son los valores ASCII).
El representar caracteres cirílicos y kanjis queda fuera del alcance ;D (tengo curiosidad por saber cómo se representan binariamente en otros sistemas)
todo se representa binariamente de igual manera: o es cero o es uno XD
bueno un conjunto de unos y ceros...
supnogo que la clave esta en al codificacion unicode (UTF-x)
drumpi, el modulo que habia para imprimir en unicode no te dara una pista??

¿Hay un módulo con unicode? Sólo me suena la iconv para estandarizar el set de caracteres de Bennu (por el tema de que se usan dos set distintos: la fnt interna usa el antiguo y los fnt que se cargan el moderno y suelen salir caracteres raros) y la mod_ttf de sandman para fuentes con suavizado y carga de otros formatos.
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)

Rein (K´)ah Al-Ghul

Futublog, la tabla con los tipos de datos y limites esta por la pagina 26 de la numeracion de las hojas (34, segun el visor de pdf)
QuoteBYTE Almacenan valores numéricos enteros que pueden valer entre 0 y 255. Estos valores extremos también
se pueden expresar con las constantes MIN_BYTE y MAX_BYTE,respectivamente.
Una variable de este tipo necesita 8 bits de memoria (sin signo y sin coma decimal) para almacenar ese
valor.

Drumpi:
la libreria que permite usar otros caracteres ademas de los ascii:
http://forum.bennugd.org/index.php?topic=690.0

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

Futu-block

#37
ok, ya lo he revuelto a recomprobar, las variables bytes no son muy fiables, en especial para x e y o cualquier valor menor de 255...

para los colores vá a tuti plen, pero una cosa que no consigo hacer es que el fade me lo haga a un grafico determinado y no a todo el juego, de todas formas indagaré como darle valor RGB a los procesos para simular el fade


SplinterGU

como que los bytes no son fiables para valores menores de 255? los bytes no pueden manejar valores mayores a 255 y tampoco negativos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

No puedes provocar un fade a un proceso en concreto ¿eso cómo sería? ¿se va volviendo cada vez más negro? ¿o quieres que desaparezca poco a poco? para la segunda opción tienes la variable local predefinida ALPHA (lo que se puede llegar a decir con sólo 4 palabras :D).
Si lo que quieres es convertirlos a una escala de color determinada, busca cómo funciona rgb_scale... o algo así se llamaba.
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)

Futu-block

claro, asi oscurezco el fondo y todo lo que no sea la rana, para el cambio de pantalla...

Quote from: SplinterGU on February 20, 2010, 09:14:39 PM
como que los bytes no son fiables para valores menores de 255? los bytes no pueden manejar valores mayores a 255 y tampoco negativos.

para mi no, intenté ponerlos en coordenada de posicion (la equis vamos) y me lo puso donde le pareció, entonces decidí usarlo solo para contadores o demas cositas que no dependa de un numero mu grande


por cierto que los colores RGB van del negro 0,0,0 al blanco 255,255,255 ¿no?

DCelso

Quote from: Futublog on February 21, 2010, 09:58:55 AM
claro, asi oscurezco el fondo y todo lo que no sea la rana, para el cambio de pantalla...

Quote from: SplinterGU on February 20, 2010, 09:14:39 PM
como que los bytes no son fiables para valores menores de 255? los bytes no pueden manejar valores mayores a 255 y tampoco negativos.

para mi no, intenté ponerlos en coordenada de posicion (la equis vamos) y me lo puso donde le pareció, entonces decidí usarlo solo para contadores o demas cositas que no dependa de un numero mu grande


por cierto que los colores RGB van del negro 0,0,0 al blanco 255,255,255 ¿no?

Depende del modo de pantalla. En 24 bits sería así pero no existe en bennu.
en 8 bits se usa paleta de color así que sería mas lioso explicarlo, pero la paleta guarda los colores como en modo 16 bits.
en 16 bits es 32,64,32 que viene de 5 bits para R,6 bits para G, 5 bits para B = 16 bits
en 32 bits es 255,255,255,255 que viene de 8 bits para 8,8 bits para G, 8 bits para B, 8 bits para alfa = 32 bits
Esto ya se ha explicando unas cuantas de veces, busca posts si quieres más info, o en wiki de bennu y fenix.
Monstruos Diabólicos

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

Drumpi

Para oscurecer todo lo que no sea la ranita, la única solución es crear un gráfico del tamaño de la zona de juego, usar map_clear con el color 1 con ella, poner la ranita por encima de todo, y este nuevo gráfico+proceso justo por debajo, y hacer que su alpha vaya de 0 a 255.

Creo que RGB se adaptaba al modo gráfico ¿no? es decir, que en modo 8bits devolvía el valor de la paleta más cercano al que se busca, mientras que en 16 busca el equivalente (5,6,5). Al menos, así lo recuerdo.
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)

SplinterGU

Quote from: Futublog on February 21, 2010, 09:58:55 AM
claro, asi oscurezco el fondo y todo lo que no sea la rana, para el cambio de pantalla...

Quote from: SplinterGU on February 20, 2010, 09:14:39 PM
como que los bytes no son fiables para valores menores de 255? los bytes no pueden manejar valores mayores a 255 y tampoco negativos.

por cierto que los colores RGB van del negro 0,0,0 al blanco 255,255,255 ¿no?

creo que todo surgio por que habias dicho "las variables bytes no son muy fiables, en especial para x e y o cualquier valor menor de 255...", creo que ahi te confundiste y deberias haber dicho "que no son fiables para cualquier valor MAYOR de 255".
La cosa es que decir que no es fiable no es correcto, porque da a entender que tiene un comportamiento erratico... y la correcto es decir "NO SIRVE PARA...". Creo que vale mencionar que el hecho de que si le seteas a una variable BYTE un valor que va mas alla de sus limites, pone algun valor que en teoria no es correcto, se debe a que solo se setea parte de dicho valor, la parte (a nivel bits) que corresponde al tamaño del mismo... o lo que es lo mismo en el caso de byte a: valor & 0ffh = valor & 255 = valor BAND 255


import "mod_say";

private
byte a;

begin

a = 257;
say ( a ) ;
say ( 257 & 0ffh );

a = 300;
say ( a ) ;
say ( 300 & 0ffh );
end


pero repito, decir que algo no es fiable, es dar a entender que no se comporta como debe.

solo queria aclarar eso, para no crear futuras confusiones... por favor disculpame si no fui claro desde el inicio...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

DCelso, los rgb van de 0 a 255 indistintamente al modo de video, lo que si es cierto es que segun el modo de video se pierde precision... con esto que quiero decir? quiero decir que por ejemplo (atencion que los valores que mencionare son a modo de ejemplo, puede que no sean exactamente esos) si tu haces un set a un rgb( 1, 1, 1 ) en modo 16 bits, lo mas probable es que eso realmente se convierta en un rgb(4,4,4) o un rgb(0,0,1); o un set a un rgb(253,253,253) realmente se traduzca en un rgb(255,255,255). No se si logro explicarlo, se pierde precision... pero el comportamiento de las funciones RGB es trabajar con valores 0 a 255, con mas o menos precision.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2