No se compilar Joe lo complicado que es con este lenguaje

Started by oska, November 27, 2010, 09:19:25 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

oska

Hola baje el bennu en version rar,ya que el ejecutable da error,lo descomprimi en la unidad c: quedando de esta manera.C:\bennugd\bin..c:\bennugd\external...etc.en fin,quiero compilar simplemente y lo hago en consola ,modo msdos,pues en ide desisto.ya que no va.pensaba que iba,mas era porque incluia  el dcb los ejemplos que baje.
tengo este simple programa de ejemplo:


//-------------------------------------------------------------------
// Programa: Tutorial 1
// Autor:    Antonio Marchal
// Fecha:    10/10/97
//-------------------------------------------------------------------

PROGRAM Tutorial_1;


BEGIN
    // Se carga el archivo de gr ficos necesario
    load_fpg("media\tutor1.fpg");
    set_mode(m640x480); // Selecciona el modo de video 640 x 480
    put_screen(0,63);   // Pone la pantalla de fondo
    nave(320,240,41);   // Crea el proceso nave
   
    teclado();
    // Crea con un bucle 4 asteroides grandes
    FROM x=1 TO 8; asteroide(); END
END
   
   
process teclado();
begin
  loop   
    if (key(_esc)) exit(); end;
    frame;
  end;
end;
   
   
//-------------------------------------------------------------------
// Proceso nave
// Maneja la nave protagonista
// Entradas: Coordenadas y c¢digo del gr fico
//-------------------------------------------------------------------

PROCESS nave(x,y,graph)
BEGIN
    LOOP
        // Comprueba si se pulsan las teclas de izquierda o derecha
        // Y modifica el angulo si estan pulsadas
        IF (key(_left)) angle=angle+10000; END
        IF (key(_right)) angle=angle-10000; END
        // Si se pulsa la tecla de arriba, la nave avanza
        IF (key(_up)) advance(8); END
        FRAME;  // Hace aparecer el gr fico de la nave en pantalla
    END
END

//-------------------------------------------------------------------
// Proceso asteroide
// Maneja todos los asteroides del juegos tanto grandes como peque¤os
//-------------------------------------------------------------------

PROCESS asteroide()
BEGIN
    LOOP
        // Crea el asteroide en la esquina superior izquierda
        // (Coordenadas: 0,0) y asigna el c¢digo de gr fico
        x=0; y=0; graph=1;
        // Elige un angulo al azar
        angle=rand(-180000,180000);
        // Repite mientras este en pantalla
        WHILE (x>=0 AND x<=640 AND
               y>=0 AND y<=480)
            // Anima el gr fico, sumando uno a su c¢digo
            graph=graph+1;
            // Si sobrepasa el limite de la animaci¢n, la reinicia
            IF (graph==21) graph=1; END
            // Hace avanzar el gr fico en la direccion determinada
            advance(4);
            FRAME;      // Hace que el gr fico salga en pantalla
        END
    END
END

voy a la unidad c:\bennugd\bin y ahi intento compilar  de esta manera
bgdc -d mio01.prg y da el siguiente error,vamos que no hace nada
error:unknown identifier ("x")

oska

Estoy teniendo problemas para instalarlo en Windows XP. He probado el instalador automatico, pero cuando lo inicio automaticamente se cierra, tambien he probado bajando el paquete RAR de la Web oficial y instalandolo manualmente, pero cuando inicio el compilador o algun ejecutable de los otros me salta un error con la dll LIBEAY32.dll(concretamente el error es: "No se encuentra el punto de entrada del procedimiento DES_ecb_encrypt en la biblioteca de vínculos dinámicos LIBEAY32.dll."), lo he instalado el Linux y funciona perfectamente, pero me es mas comodo hacerlo todo desde Windows, ¿alguna idea?
es lo mismo que a mi me sucede,ayuda please!!!!!!!!!!!! como se configura correctamente?¿?

Yawin

Para windows te recomiendo este maravilloso pack: http://bennupack.blogspot.com/
Te instala Bennu perféctamente y encima te trae tutoriales, ejemplos, etc...
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

l1nk3rn3l


oska

Si ,ya he instalado ese famoso pack.que incluye el maravilloso prg editor...ejecuta bien el ejemplo de hello!!mas todo lo demas no va,siempre me da el error unknow indentifier.estoy desesperado no encuentro el fallo por ningun lado,no hay manera de crear el dcb.he puesto el famoso path en windows y con esto ejecuta el bgdc.exe en cualquier lugar ,modo ms-dos,mas me da el error libeay32.dll y debo copiar todas las dll en bin para que no salga.Solvento esto mas  unknow indentifier[/b sale de nuevo.AYUDAAAAAA!!!!!!!

oska

Tambien dice que el programa que intento compilar no es una version 7 dcb compatible?¿?¿

DjSonyk

Buenas si estas intentado compilar justo justo lo que has escrito anteriormente y no te va es porque no cargas las librerias....
import "mod_grproc";import "mod_file" ect....
se declaran justo despues de PROGRAM Tutorial_1;  y antes del primer BEGIN.
Saludos.

DCelso

Joder, este es el error más común del mundo de la gente que viene de fenix, te faltan los pu..os imports
Dos soluciones:
1. Añades después en tu código después de la línea de program los imports de los módulos que usa tu ejemplo.

PROGRAM Tutorial_1;
import "mod_video"
import "mod_key"
import "mod_map"
import "mod_screen"
import "mod_grproc"
import "mod_proc"
import "mod_rand"

2. Crear un archivo llamado igual que el nombre de tu .prg pero terminado en .imp o .import con la información de los módulos que usa tu ejemplo.
archivo tutorial_1.import

PROGRAM Tutorial_1;
mod_video
mod_key
mod_map
mod_screen
mod_grproc
mod_proc
mod_rand


En cuanto a configurar bennugd en windows a partir del rar oficial es tan sencillo como hacer lo siguiente:
1.-Descomprimes el rar en una carpeta cualquiera, por ejemplo c:\Programs
2.-Editas el path de windows, boton derecho en mi pc-propiedades-opciones avanzadas-variables de entorno.
   añades al final c:\Programs\BennuGD\bin;c:\Programs\BennuGD\lib;c:\Programs\BennuGD\modules;c:\Programs\BennuGD\externals
Y ya está, ahora puedes abrir una consola de windows (o símbolo de sistema, o con cmd) y ejecutar bgdc y bgdi desde cualquier directorio del sistema de archivos.
NOTA: las consolas abiertas no ven refrescados los cambios del path así que tienes que cerraras y abrirlas de nuevo si quieres ejecutar bgdc y bgdi.

Si usas bennupack ya hace algo parecido por tí (mete en el path el directorio c:\devBennu\bin), bennupack crea una carpeta c:\devBennu\bin con todo el contenido de bin, lib, modules y externals del rar oficial.
Así que no te haría falta editar las variables de entorno manualmente.

El instalador oficial de bennu (al que le vaya) hace esto mismo por tí, edita automáticamente la variable path del entorno para añadir todas las carpetas del BennuGD.
Monstruos Diabólicos

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

DCelso

:D ese djsonic, ahí adelantándoseme mientras escribía el pots :D, un pin pa ti.
Monstruos Diabólicos

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

DCelso

Repasando tus errores:
* Unknown identifier ("M640X480")
Falta importar mod_video
*  Unknown identifier ("_ESC")
Falta importar mod_key
*Undefined procedure ("LOAD_FPG")
Falta importar mod_map
*Undefined procedure ("PUT_SCREEN")
Falta importar mod_screen
* Undefined procedure ("ADVANCE")
Falta importar mod_grproc
*Undefined procedure ("EXIT")
Falta importar mod_proc
*Undefined procedure ("RAND")
Falta importar mod_rand

En cuanto al error  tutorial1.prg: doesn't exist or isn't version 7 DCB compatible
Es porque has intentado compilar un .prg con bgdi en vez de con bgdc.
Monstruos Diabólicos

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

oska

OHHHHH!!!!!!!!  .Por fin me habeis dado la solucion,perdonad por mi insistencia,mas no hallaba la forma de que compilaran mis programas.Gracias por todo.

DjSonyk

Quote from: DCelso on November 28, 2010, 01:22:41 AM
:D ese djsonic, ahí adelantándoseme mientras escribía el pots :D, un pin pa ti.

Jaja esto no lo habia leido .... La verdad que me adelante porque fui menos concreto que tu,mas bien en pin deveria ser tuyo ;)
Este mismo error es el que me trajo al foro hace ya tiempo xD