Div Games en Html5 y Canvas

Started by AmakaSt, September 07, 2012, 03:28:01 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

AmakaSt

Hola oskarg,

Desde la 1.32 se cambio el funcionamiento de las tablas de dos dimensiones, para que fuera similar a Div 2. Para quitar el error cambia las líneas con:          CASE  38: MAPA_PANTALLA[x][y]=138;END
          CASE 255: MAPA_PANTALLA[x][y]=100;END
          DEFAULT   MAPA_PANTALLA[x][y]=100;END


Por lo siguiente:          CASE  38: MAPA_PANTALLA[x,y]=138;END
          CASE 255: MAPA_PANTALLA[x,y]=100;END
          DEFAULT   MAPA_PANTALLA[x,y]=100;END


Un saludo.

oskarg

#871
Gracias,
los comentarios // siguen dando errores,me ha costado darme cuenta de ello,hasta que los he eliminado y por fin ejecuta correctamente:

SWITCH(tipo)

    CASE 1://up
          inicio_x = vox_x;    // recorro 2 elementos. 8pixeles=2 elementos 16 pixeles=3 elementos..
          final_x  = vox_x+2;  //
          inicio_y = vox_y;    // recorro 1 elemento  8 pixeles=1 elemento tabla 16 pixeles= 1 elemento tabla.
          final_y  = vox_y+1;
    END
   
   
    CASE 2://down
          inicio_x = vox_x;//
          final_x  = vox_x+2;//
          inicio_y = vox_y+1;
          final_y  = vox_y+2;
    END
   
   
   
    CASE 3://left
          inicio_x = vox_x;
          final_x  = vox_x+1;
          inicio_y = vox_y;//
          final_y  = vox_y+2;//
    END
   
   
    CASE 4://right
          inicio_x = vox_x+1;
          final_x  = vox_x+2;
          inicio_y = vox_y;/////-13....14....15
          final_y  = vox_y+2;/////15 entonces sumo 1====2el quince no lo cuenta.....
    END
    DEFAULT:
    x=0;
    END
END   


si quito los comentarios //up...//down etc ya no sale errores raros de esperando[;] CASE 1://up en la version 1.32 funciona.
Otra cuestion si dejo la tecla pulsada,mientras estoy escribiendo,programando el programa,no escribe nada hasta que deje de pulsarla.Esto es normal?¿?lo has programado asi?¿?

oskarg

#872
otra cuestion,si puede ser incluir la funcion Math.min() de javascript...es sencillo implementarlo,pero prefiero que lo tenga por defecto.
Un saludo.. Evito un if..else...
Me he puesto otra vez a programar :P..va por temporadas ;D a ver si acabo una cosa que lo tengo parado hace tiempo y lo pones en divgo como ejemplo ... :P

oskarg

Otra cosa....
No puedo definir una tabla dinamica de dos dimensiones de esta forma:
tabla[,];
debo de poner su dimension tabla[30,30];

AmakaSt

#874
Hola oskarg,

Sobre los comentarios, sepáralo de los dos puntos para que te funcione, esto debo revisarlo.

    CASE 1: //up
          inicio_x = vox_x;    // recorro 2 elementos. 8pixeles=2 elementos 16 pixeles=3 elementos..
          final_x  = vox_x+2;  //
          inicio_y = vox_y;    // recorro 1 elemento  8 pixeles=1 elemento tabla 16 pixeles= 1 elemento tabla.
          final_y  = vox_y+1;
    END


Lo de dejar la tecla pulsada en el IDE a mi me funciona, por lo menos en la versión online, si dejo pulsada la tecla durante un rato me sale una ráfaga con la letra que mantengo pulsada.  :)

Sobre las funciones Math.min() y Math.max(), pensé que ya existían en Div GO, me las apunto para incluirlas en la próxima versión.

Todas las tablas son dinámicas en Div GO, al darles las dimensiones la estas inicializando con los espacios definidos con valor 0.
https://www.divgo.net/c-19022cf4

Un saludo.

oskarg

Hola AmakaSt
En la version offline no funciona correctamente cuando dejo la tecla pulsada.
Un bug que no lo detecta divgo ...si el codigo es pequeño es pasable,pero si es grande como lo que estoy haciendo,me ha costado encontrarlo,pues no lo detecta y luego no ejecuta nada
Quote
  if ( AND  valor==1  )//si derecha o izquierda y toco tocho
               father.p_choca= TRUE;
               END

Un saludo..

oskarg

Un bug molesto del ide...
A veces cuando compilo el codigo y luego presiono en ejecutar en el proyecto y regreso al programa  desaparece lo que he programado/escrito. ?¿?

oskarg

Buenos dias...
Existen etiquetas en divgo ??se podria implementar ??¿?
Me explico....
tengo dos for.... y por motivos x..hago un break,y luego tengo que hacer otro break para salir de los dos for...vale...es una aberracion bla.bla.bla..pero funciona ..Hay una forma de implementarlo de otra forma mejor ???teniendo en cuenta que busco rapidez,cuanto menos ifff mejor.

FOR(j=inicio_y;j<=final_y;j++)
       IF (salida == TRUE) break;end
   FOR(i=inicio_x;i<=final_x;i++)
      tt_x=i*8;
      tt_y=j*8;
       IF(Tabla_fondo[i,j] <> 0  AND  Tabla_fondo[i,j] <>2)
         salida = TRUE;
         obj.ccy = tt_y-T_alto/2;
         father.colision=TRUE;break;
       END

   END
   END



AmakaSt

Hola oskarg,
Perdona que haya tardado en responder, desde que inicio el año he tenido el ordenador un poco roto: pantallazos azules, congelación de windows y reinicios automáticos. Pensaba que tendría que comprarme un ordenador nuevo pero por suerte parece que lo he conseguido arreglar.

Sobre el bug de "if ( AND  valor==1  )" ya lo tengo solucionado para la versión 1.38.0.

Quote from: oskarg on January 25, 2021, 01:06:47 PM
Un bug molesto del ide...
A veces cuando compilo el codigo y luego presiono en ejecutar en el proyecto y regreso al programa  desaparece lo que he programado/escrito. ?¿?

Para esto me tendrías que especificar con más detalle que haces exactamente, he estado haciendo distintas pruebas (a lo loco) en el ide y no he conseguido que desaparezca el código escrito. A ver si podemos coincidir en el Discord para poder conversar sobre esos bugs que yo no consigo reproducir. :)

Quote from: oskarg on February 07, 2021, 12:41:23 PM
Buenos dias...
Existen etiquetas en divgo ??se podria implementar ??¿?
Me explico....
tengo dos for.... y por motivos x..hago un break,y luego tengo que hacer otro break para salir de los dos for...vale...es una aberracion bla.bla.bla..pero funciona ..Hay una forma de implementarlo de otra forma mejor ???teniendo en cuenta que busco rapidez,cuanto menos ifff mejor.

FOR(j=inicio_y;j<=final_y;j++)
       IF (salida == TRUE) break;end
   FOR(i=inicio_x;i<=final_x;i++)
      tt_x=i*8;
      tt_y=j*8;
       IF(Tabla_fondo[i,j] <> 0  AND  Tabla_fondo[i,j] <>2)
         salida = TRUE;
         obj.ccy = tt_y-T_alto/2;
         father.colision=TRUE;break;
       END

   END
   END



No hace falta etiqueta, en el for tienes un condicional que puedes ampliar tranquilamente.


FOR(j=inicio_y;j<=final_y and not salida;j++)
   FOR(i=inicio_x;i<=final_x;i++)
      tt_x=i*8;
      tt_y=j*8;
       IF(Tabla_fondo[i,j] <> 0  AND  Tabla_fondo[i,j] <>2)
         salida = TRUE;
         obj.ccy = tt_y-T_alto/2;
         father.colision=TRUE;break;
       END

   END
   END


Un saludo.

oskarg

#879
Hola AmakaSt,
Gracias por el for..
Un bug muy molesto y que estoy bloqueado,bueno no ejecuta la aplicacion y de momento no puedo hacer nada..Tambien me pasa en la version online...Es algo que ha modificado divgo como se solveta?¿?
Al ejecutar divgo me pone continuamente cargando datos... he intentado bajar la version offline ,pero esta version por motivos que desconozco pone Object not found! utilizo xamp...no entiendo,segun que version funciona en xamp y otras pone lo que comento...

Bueno.reseteando el ordenador ya funciona...la version xamp no,por que?¿?
Un saludo.

panreyes

Buenas Amakast :)

¿Sería mucho pedir una macro/directiva para permitir utilizar una forma de arrays u otra?
Ayudaría a compatibilizar el código entre otros lenguajes DIV-like :)

oskarg

Bug molesto ..desaparece el codigo..ahora lo ves!!..ahora no lo ves!!! ;D magia..magia!! Cuando compilo deberia haber una opcion simplemente de compilacion,sin necesidad de ir a una pantalla nueva..como ocurria en turbo_c  ;D compilo y luego ejecuto y asi no cargo una ventana nueva.con tal que ponga ok ya vale.


oskarg

Como borro o pongo todos los valores a 0 en una estructura de este tipo ??¿?

STRUCT Pantallas[40]
       v[15,15];
END   

Ni idea en divgo.........

oskarg

Otra cuestion ya comentada..como puedo eliminar el molesto loading data... nunca carga divgo .ni en modo online ,ni offlline.....si utilizo una version antigua funciona  :(

AmakaSt

Hola oskarg,

Necesitaría capturas de la consola del navegador para poder ver que te está fallando, puede que esté esperando algún archivo a cargar y que ya no lo tengas disponible o similar.

Sobre como borrar todos los datos de un struct a 0, actualmente así: https://www.divgo.net/c-ca0d14ac    for (size = 0; size < sizeof(pantalla); size++)
        for (x = 0; x < sizeof(pantalla[size].v); x++)
            for (y = 0; y < sizeof(pantalla[size].v[x]); y++)
                pantalla[size].v[x,y] = 0;
            end
        end
    end


Quote from: panreyes on February 08, 2021, 09:28:27 AM
Buenas Amakast :)

¿Sería mucho pedir una macro/directiva para permitir utilizar una forma de arrays u otra?
Ayudaría a compatibilizar el código entre otros lenguajes DIV-like :)
Hola panreyes,

Podría poner como una opción de compilación de compiler_option para activar un tipo de array o dejar los actuales. Si se te ocurre de otra manera con un ejemplo me vale. :)

Tengo pensado, para un futuro próximo, que las opciones de compilación se puedan cambiar desde el ide y que no sea necesario poner en el código los compiler_options, tener ambas opciones.

Un saludo.