Diferencia entre revisiones de «DIV Games Studio»
→Sucesores: +cm Etiquetas: Edición desde móvil Edición vía web móvil |
m Reemplazos con Replacer: «entorno al», «y/o» |
||
(No se muestran 20 ediciones intermedias de 13 usuarios) | |||
Línea 3: | Línea 3: | ||
|logo = |
|logo = |
||
|paradigma = [[Programación imperativa|Imperativo]] ([[Programación procedural|Procedural]]), [[Programación estructurada|Estructurado]] |
|paradigma = [[Programación imperativa|Imperativo]] ([[Programación procedural|Procedural]]), [[Programación estructurada|Estructurado]] |
||
|año = |
|año = 1998 |
||
|diseñador = [[Daniel Navarro Medrano]] |
|diseñador = [[Daniel Navarro Medrano]] |
||
|desarrollador = [[Hammer Technologies]] |
|desarrollador = [[Hammer Technologies]] |
||
Línea 16: | Línea 16: | ||
|web = |
|web = |
||
}} |
}} |
||
'''DIV Games Studio''' es un [[lenguaje de programación]] con sintaxis y estructuras similares al [[lenguaje de programación Pascal|Pascal]] y al [[lenguaje de programación C|C]], nacido en un principio para la creación de juegos en [[MS-DOS]]. Fue lanzado en |
'''DIV Games Studio''' es un [[lenguaje de programación]] con sintaxis y estructuras similares al [[lenguaje de programación Pascal|Pascal]] y al [[lenguaje de programación C|C]], nacido en un principio para la creación de juegos en [[MS-DOS]]. Fue lanzado en 1998 por la empresa española [[Hammer Technologies]].<ref>[http://macedoniamagazine.frodrig.com/etapa_2001_2002/juegos/Historia%20Soft/soft-5.htm Historia del software de entretenimiento español] en macedoniamagazine.frodrig.com</ref> |
||
Existen dos paquetes distribuidos por Hammer Tecnologies: ''DIV'' y ''DIV 2''. DIV 2 supera en algunos aspectos a su antecesor. Dichas distribuciones incluyen un [[compilador]], un programa de diseño de [[sprite (videojuegos)|sprites]] y un programa de edición de archivos de sonido, es decir, todo lo necesario para crear un [[videojuego]]. El software está pensado para que los usuarios no requieran ser expertos programadores. Con posterioridad a estas dos distribuciones, han aparecido varias otras implementaciones del lenguaje DIV. |
Existen dos paquetes distribuidos por Hammer Tecnologies: ''DIV'' y ''DIV 2''. DIV 2 supera en algunos aspectos a su antecesor. Dichas distribuciones incluyen un [[compilador]], un programa de diseño de [[sprite (videojuegos)|sprites]] y un programa de edición de archivos de sonido, es decir, todo lo necesario para crear un [[videojuego]]. El software está pensado para que los usuarios no requieran ser expertos programadores. Con posterioridad a estas dos distribuciones, han aparecido varias otras implementaciones del lenguaje DIV. |
||
==Características== |
==Características== |
||
La principal característica del lenguaje es el hecho de tratar a los procedimientos de manera muy similar a los procesos de [[Linux]], pero de forma automática. Cada vez que un programa manda a llamar un procedimiento, se crea una copia de éste a manera de proceso; dicho proceso se ejecuta una vez durante cada fotograma (frame) del juego. Adicionalmente, cada proceso contiene un conjunto básico de variables como son posición X, Y, Z, gráfico actual, archivo de gráficos, Ángulo, Etc. Basta con modificar alguna de esas variables para reflejar los cambios en pantalla en el siguiente Frame (Por ejemplo, modificar la posición X y Y hace que el gráfico aparezca en esas coordenadas). Se pueden crear cientos de copias de un mismo proceso, modificar su posición y con eso ya se tiene, por ejemplo, un conjunto de enemigos, cada uno ejecutando su propia instancia, con sus propias variables y siguiendo un código básico dictado por el proceso. |
La principal característica del lenguaje es el hecho de tratar a los procedimientos de manera muy similar a los procesos de [[GNU/Linux|Linux]], pero de forma automática. Cada vez que un programa manda a llamar un procedimiento, se crea una copia de éste a manera de proceso; dicho proceso se ejecuta una vez durante cada fotograma (frame) del juego. Adicionalmente, cada proceso contiene un conjunto básico de variables como son posición X, Y, Z, gráfico actual, archivo de gráficos, Ángulo, Etc. Basta con modificar alguna de esas variables para reflejar los cambios en pantalla en el siguiente Frame (Por ejemplo, modificar la posición X y Y hace que el gráfico aparezca en esas coordenadas). Se pueden crear cientos de copias de un mismo proceso, modificar su posición y con eso ya se tiene, por ejemplo, un conjunto de enemigos, cada uno ejecutando su propia instancia, con sus propias variables y siguiendo un código básico dictado por el proceso. |
||
== Comunidad == |
|||
En torno al lenguaje se desarrolló una comunidad que llevó adelante proyectos como [[FreeDIV]], que recopilaba bibliotecas para expandir las capacidades de la primera versión del producto. |
|||
== Sucesores == |
== Sucesores == |
||
Tras la desaparición de Hammer Technologies en el año |
Tras la desaparición de Hammer Technologies en el año 2000 han existido numerosos proyectos que pretendieron ser los sucesores de DIV, sin conseguirlo; una parte importante de los mismos no pasaron de ser ''[[vaporware]]'', como en el caso de [[DIV-DX]] (WinDIV), [[DIV-ARENA]] o [[wxDIV]]. Otros, como [[eDIV]],<ref>https://github.com/vroman/edivc</ref> fueron abandonados prematuramente en sus primeras fases de desarrollo. En el caso de [[CDIV]] (o CDIV Games Studio), se trata de un conjunto de herramientas para [[lenguaje de programación C|C]] destinadas a convertir juegos de DIV a C, basado en las funciones del DIV 2 y de [[Allegro (biblioteca de programación)|ALLEGRO 4.2]].<ref>http://cdiv.sourceforge.net/</ref> Una herramienta similar pero orientada al lenguaje [[Java (lenguaje de programación)|Java]] es el [[JDIV]]. A continuación aparecen los proyectos derivados del lenguaje DIV que han ofrecido una mayor continuidad. |
||
=== Proyecto Fénix === |
=== Proyecto Fénix === |
||
{{AP|Proyecto Fenix}} |
{{AP|Proyecto Fenix}} |
||
El [[Proyecto Fenix]], inicialmente llamado DIVC, fue el primer intento (iniciado en el año 2000) de recrear DIV Games Studio, con diversas mejoras como soporte para gráficos de 16 bits y mayor portabilidad. Dispone de compilador e intérprete para múltiples plataformas y sistemas operativos, entre ellos [[Windows]], [[Linux]], [[MacOSX]], [[BeOS]] y [[GP32]]. |
El [[Proyecto Fenix]], inicialmente llamado DIVC, fue el primer intento (iniciado en el año 2000) de recrear DIV Games Studio, con diversas mejoras como soporte para gráficos de 16 bits y mayor portabilidad. Dispone de compilador e intérprete para múltiples plataformas y sistemas operativos, entre ellos [[Windows]], [[GNU/Linux|Linux]], [[MacOSX]], [[BeOS]] y [[GP32]]. |
||
=== Gemix Studio === |
=== Gemix Studio === |
||
{{AP|Gemix Studio}} |
{{AP|Gemix Studio}} |
||
Implementación reescrita de cero y publicada a partir de |
Implementación reescrita de cero y publicada a partir de 2008, [[Gemix Studio]] es una continuación no oficial de DIV Games Studio 2 y ofrece todo lo necesario para desarrollar cualquier tipo de juego 2D o 3D. A diferencia de DIV Games Studio todo está modularizado, soporta 16 y 32 bits y tiene muchas características nuevas. Actualmente admite las siguientes plataformas: [[Windows]], [[GNU/Linux|Linux]], [[Mac OS X]]. |
||
=== Bennu Game Development === |
=== Bennu Game Development === |
||
{{AP|BennuGD}} |
{{AP|BennuGD}} |
||
Surgido en |
Surgido en 2006, BennuGD se basa en el código del [[Proyecto Fenix]], y se diferencia de éste en que ahora todo está modularizado, soporta 32 bits, tiene muchos menos fallos y aún mayor portabilidad. Actualmente admite las siguientes plataformas: [[Windows]], [[GNU/Linux|Linux]], [[MacOSX]], [[Nintendo Switch]], [[GP2X]], [[GP2X Wiz]], [[Wii_homebrew|Wii]], [[PlayStation Portable|PSP]], [[Android]], [[IOS (sistema operativo)|iOS]], [[Caanoo]], [[Dingux]], [[Dreamcast]], [[Haiku OS]], [[Pandora_(consola)|Pandora]] y [[Xbox]]. |
||
=== DIV GO : Games Online === |
=== DIV GO : Games Online === |
||
{{AP|Div GO}} |
{{AP|Div GO}} |
||
DIV GO (Games Online) es un entorno de desarrollo |
DIV GO (Games Online) es un entorno de desarrollo en línea creado en 2012 por Amaka Soft, con el que puedes programar juegos en [[HTML5]] utilizando el lenguaje DIV. Los juegos desarrollados en él son compatibles con dispositivos táctiles, tales como Android e iOS. |
||
El entorno de Div GO incluye un editor de código, compilador, analizador de programa, editor de gráficos, fuentes y mapa de tiles. También tiene opciones para empaquetar proyectos una vez se hayan finalizado. Se puede trabajar tanto en línea, desde la web, como en local. El paquete descargable incorpora un ejecutable con las mismas características que la versión web, añadiendo ejemplos y recursos para probar. |
|||
Puedes encontrar tutoriales de como usar [[Div GO|Div Go]] en la web del Profe Nachog |
|||
Actualmente sigue en desarrollo, añadiendo más funcionalidades al lenguaje y al entorno en cada nueva versión lanzada. |
|||
=== DIV DX === |
=== DIV DX === |
||
{{AP|DIV DX}} |
{{AP|DIV DX}} |
||
DIV DX es el sucesor oficial de DIV2, basado en el código original y 100% compatible con el código fuente o binarios generados por DIV y DIV2 (salvo el engine 3D, también conocido como "modo 8"). La nueva versión soporta altas resoluciones (hasta 1920x1080) y funciona en muchas plataformas diferentes, incluyendo [[Android]], [[Windows]], [[GCW Zero]], [[Pandora_(consola)|Pandora]], [[Linux]], [[Raspberry Pi]], [[Mac OSX]] y [[Javascript]]. Es posible encontrar juegos de demostración en su página web oficial. |
DIV DX es el sucesor oficial de DIV2, basado en el código original y 100% compatible con el código fuente o binarios generados por DIV y DIV2 (salvo el engine 3D, también conocido como "modo 8"). La nueva versión soporta altas resoluciones (hasta 1920x1080) y funciona en muchas plataformas diferentes, incluyendo [[Android]], [[Windows]], [[GCW Zero]], [[Pandora_(consola)|Pandora]], [[GNU/Linux|Linux]], [[Raspberry Pi]], [[Mac OSX]] y [[Javascript]]. Es posible encontrar juegos de demostración en su página web oficial. |
||
⚫ | |||
=== PixTudio === |
|||
⚫ | |||
{{AP|PixTudio}} |
|||
PixTudio es un [[Bifurcación_(desarrollo_de_software)|fork]] de [[BennuGD]] con algunas mejoras y actualizaciones, incluyendo aceleración gráfica por GPU, renderizado de texto con tipografías [[FreeType]], mejoras en el soporte de [[Mando (videojuegos)|gamepads]], soporte para archivos gráficos [[JPG]] y [[WEBP]], descarga de archivos y peticiones web con [[cURL]], reproducción de vídeo [[Theora]] y reproducción de música en formato [[MP3]]. Originalmente fue desarrollado como [[Motor de videojuego|motor]] del videojuego [[eXplosive Dinosaurs]], aunque posteriormente se utilizaría también para llevar a cabo el desarrollo de otros videojuegos como [[Crisis Serena]] o [[Tiki Brawl]], además de varios proyectos portados desde Fénix o BennuGD. Es el primer engine basado en la sintaxis de DIV Games Studio que ha llegado a [[Nintendo Switch]] con [[eXplosive Dinosaurs]] y [[Tiki Brawl]]. |
|||
== Ejemplo == |
== Ejemplo == |
||
Un sencillo ejemplo de un programa que crea [[turmite]]s:<ref>A partir del código publicado en la revista ''DIVmanía'', número 4, 1999.</ref> |
Un sencillo ejemplo de un programa que crea [[turmite]]s:<ref>A partir del código publicado en la revista ''DIVmanía'', número 4, 1999.</ref> |
||
< |
<syntaxhighlight lang="text"> |
||
Program TURMITE; |
Program TURMITE; |
||
Global |
Global |
||
orientacion=1; |
orientacion = 1; |
||
xa; |
xa; |
||
ya; |
ya; |
||
velocidad=10; |
velocidad = 10; |
||
a=1; |
a = 1; |
||
Begin |
Begin |
||
set_mode(m320x240); |
set_mode(m320x240); |
||
xa=160; |
xa = 160; |
||
ya=120; |
ya = 120; |
||
write(0,0,0,0,"Pulsa A para aumentar la velocidad"); |
write(0,0,0,0,"Pulsa A para aumentar la velocidad"); |
||
write(0,0,10,0,"Pulsa D para disminuir la velocidad"); |
write(0,0,10,0,"Pulsa D para disminuir la velocidad"); |
||
Repeat |
Repeat |
||
If(xa<0)xa=320;End |
If(xa < 0) xa=320; End |
||
If(xa>320)xa=0;End |
If(xa > 320) xa=0; End |
||
If(ya<0)ya=240;End |
If(ya < 0) ya=240; End |
||
If(ya>240)ya=0;End |
If(ya > 240) ya=0; End |
||
If(key(_a))velocidad--; |
If(key(_a) and velocidad > 1) velocidad--; End |
||
If( |
If(key(_d)) velocidad++; End |
||
If(key(_d))velocidad++;End |
|||
Switch(get_pixel(xa,ya)) |
Switch(get_pixel(xa,ya)) |
||
Case 0:put_pixel(xa,ya,22);derecha(); |
Case 0: |
||
put_pixel(xa,ya,22); |
|||
derecha(); |
|||
End |
|||
⚫ | |||
Case 22: |
|||
⚫ | |||
put_pixel(xa,ya,41); |
|||
derecha(); |
|||
End |
|||
Case 41: |
|||
⚫ | |||
izquierda(); |
|||
izquierda(); |
|||
End |
|||
Case 54: |
|||
⚫ | |||
izquierda(); |
|||
izquierda(); |
|||
End |
|||
End |
|||
End |
End |
||
Línea 92: | Línea 116: | ||
Begin |
Begin |
||
orientacion++; |
orientacion++; |
||
If(orientacion>4)orientacion=1;End |
If(orientacion > 4) orientacion = 1; End |
||
Switch(orientacion) |
Switch(orientacion) |
||
Case 1:xa-=a;End |
Case 1: xa-=a; End |
||
Case 2:ya+=a;End |
Case 2: ya+=a; End |
||
Case 3:xa+=a;End |
Case 3: xa+=a; End |
||
Case 4:ya-=a;End |
Case 4: ya-=a; End |
||
End |
|||
End |
End |
||
End |
End |
||
Línea 104: | Línea 129: | ||
Begin |
Begin |
||
orientacion--; |
orientacion--; |
||
If(orientacion<1)orientacion=4;End |
If(orientacion < 1) orientacion = 4; End |
||
Switch(orientacion) |
Switch(orientacion) |
||
Case 1:xa+=a;End |
Case 1: xa+=a; End |
||
Case 2:ya-=a;End |
Case 2: ya-=a; End |
||
Case 3:xa-=a;End |
Case 3: xa-=a; End |
||
Case 4:ya+=a;End |
Case 4: ya+=a; End |
||
End |
|||
End |
End |
||
End |
End |
||
</syntaxhighlight> |
|||
</source> |
|||
Como consecuencia de la introducción de pequeñas modificaciones en algunos elementos del lenguaje, el anterior código se ejecuta sin problemas en DIV, DIV 2 y Gemix Studio, pero son necesarias algunas modificaciones para que se ejecute correctamente en Fenix, BennuGD |
Como consecuencia de la introducción de pequeñas modificaciones en algunos elementos del lenguaje, el anterior código se ejecuta sin problemas en DIV, DIV 2, DIV DX y Gemix Studio, pero son necesarias algunas modificaciones para que se ejecute correctamente en Fenix, BennuGD, DIV GO o PixTudio.<ref>[http://www.divgo.net/c-e825574d Código turmite funcionando en Div GO]</ref> |
||
== Referencias == |
== Referencias == |
||
{{listaref}} |
|||
<references /> |
|||
== Enlaces externos == |
== Enlaces externos == |
||
* [http:// |
* [https://web.archive.org/web/20020605044518/http://www.divgames.com/ing/index.htm Página oficial de DIV Games Studio] (Hammer Technologies) |
||
* [https://web.archive.org/web/20190406143650/http://fenix.divsite.net/ Página oficial de Fénix] |
|||
* [http://www.gemixstudio.com/ Página oficial de Gemix Studio] |
* [http://www.gemixstudio.com/ Página oficial de Gemix Studio] |
||
* [http://www.bennugd.org/ Página oficial de Bennu] |
* [http://www.bennugd.org/ Página oficial de Bennu] |
||
* [http://www.divgo.net/ Página oficial de Div GO] |
* [http://www.divgo.net/ Página oficial de Div GO] |
||
* [http://www.div-arena.co.uk/ Página oficial de DIV DX] |
* [http://www.div-arena.co.uk/ Página oficial de DIV DX] |
||
* [https://pixtudio.divhub.org/ Página oficial de PixTudio] |
|||
{{Control de autoridades}} |
|||
[[Categoría:Herramientas de desarrollo de videojuegos]] |
[[Categoría:Herramientas de desarrollo de videojuegos]] |
||
[[Categoría:Lenguaje de programación DIV]] |
[[Categoría:Lenguaje de programación DIV]] |
Revisión actual - 22:28 20 oct 2024
DIV | ||
---|---|---|
Desarrollador(es) | ||
Hammer Technologies http://div-arena.co.uk/, http://www.js.mikedx.co.uk/ y http://div-arena.com/ | ||
Información general | ||
Paradigma | Imperativo (Procedural), Estructurado | |
Apareció en | 1998 | |
Diseñado por | Daniel Navarro Medrano | |
Implementaciones | Múltiples | |
Influido por | C, Pascal, MODULA-2, BASIC | |
Sistema operativo |
Multiplataforma Las versiones iniciales del lenguaje, solo MS-DOS | |
DIV Games Studio es un lenguaje de programación con sintaxis y estructuras similares al Pascal y al C, nacido en un principio para la creación de juegos en MS-DOS. Fue lanzado en 1998 por la empresa española Hammer Technologies.[1]
Existen dos paquetes distribuidos por Hammer Tecnologies: DIV y DIV 2. DIV 2 supera en algunos aspectos a su antecesor. Dichas distribuciones incluyen un compilador, un programa de diseño de sprites y un programa de edición de archivos de sonido, es decir, todo lo necesario para crear un videojuego. El software está pensado para que los usuarios no requieran ser expertos programadores. Con posterioridad a estas dos distribuciones, han aparecido varias otras implementaciones del lenguaje DIV.
Características
[editar]La principal característica del lenguaje es el hecho de tratar a los procedimientos de manera muy similar a los procesos de Linux, pero de forma automática. Cada vez que un programa manda a llamar un procedimiento, se crea una copia de éste a manera de proceso; dicho proceso se ejecuta una vez durante cada fotograma (frame) del juego. Adicionalmente, cada proceso contiene un conjunto básico de variables como son posición X, Y, Z, gráfico actual, archivo de gráficos, Ángulo, Etc. Basta con modificar alguna de esas variables para reflejar los cambios en pantalla en el siguiente Frame (Por ejemplo, modificar la posición X y Y hace que el gráfico aparezca en esas coordenadas). Se pueden crear cientos de copias de un mismo proceso, modificar su posición y con eso ya se tiene, por ejemplo, un conjunto de enemigos, cada uno ejecutando su propia instancia, con sus propias variables y siguiendo un código básico dictado por el proceso.
Comunidad
[editar]En torno al lenguaje se desarrolló una comunidad que llevó adelante proyectos como FreeDIV, que recopilaba bibliotecas para expandir las capacidades de la primera versión del producto.
Sucesores
[editar]Tras la desaparición de Hammer Technologies en el año 2000 han existido numerosos proyectos que pretendieron ser los sucesores de DIV, sin conseguirlo; una parte importante de los mismos no pasaron de ser vaporware, como en el caso de DIV-DX (WinDIV), DIV-ARENA o wxDIV. Otros, como eDIV,[2] fueron abandonados prematuramente en sus primeras fases de desarrollo. En el caso de CDIV (o CDIV Games Studio), se trata de un conjunto de herramientas para C destinadas a convertir juegos de DIV a C, basado en las funciones del DIV 2 y de ALLEGRO 4.2.[3] Una herramienta similar pero orientada al lenguaje Java es el JDIV. A continuación aparecen los proyectos derivados del lenguaje DIV que han ofrecido una mayor continuidad.
Proyecto Fénix
[editar]El Proyecto Fenix, inicialmente llamado DIVC, fue el primer intento (iniciado en el año 2000) de recrear DIV Games Studio, con diversas mejoras como soporte para gráficos de 16 bits y mayor portabilidad. Dispone de compilador e intérprete para múltiples plataformas y sistemas operativos, entre ellos Windows, Linux, MacOSX, BeOS y GP32.
Gemix Studio
[editar]Implementación reescrita de cero y publicada a partir de 2008, Gemix Studio es una continuación no oficial de DIV Games Studio 2 y ofrece todo lo necesario para desarrollar cualquier tipo de juego 2D o 3D. A diferencia de DIV Games Studio todo está modularizado, soporta 16 y 32 bits y tiene muchas características nuevas. Actualmente admite las siguientes plataformas: Windows, Linux, Mac OS X.
Bennu Game Development
[editar]Surgido en 2006, BennuGD se basa en el código del Proyecto Fenix, y se diferencia de éste en que ahora todo está modularizado, soporta 32 bits, tiene muchos menos fallos y aún mayor portabilidad. Actualmente admite las siguientes plataformas: Windows, Linux, MacOSX, Nintendo Switch, GP2X, GP2X Wiz, Wii, PSP, Android, iOS, Caanoo, Dingux, Dreamcast, Haiku OS, Pandora y Xbox.
DIV GO : Games Online
[editar]DIV GO (Games Online) es un entorno de desarrollo en línea creado en 2012 por Amaka Soft, con el que puedes programar juegos en HTML5 utilizando el lenguaje DIV. Los juegos desarrollados en él son compatibles con dispositivos táctiles, tales como Android e iOS.
El entorno de Div GO incluye un editor de código, compilador, analizador de programa, editor de gráficos, fuentes y mapa de tiles. También tiene opciones para empaquetar proyectos una vez se hayan finalizado. Se puede trabajar tanto en línea, desde la web, como en local. El paquete descargable incorpora un ejecutable con las mismas características que la versión web, añadiendo ejemplos y recursos para probar.
Actualmente sigue en desarrollo, añadiendo más funcionalidades al lenguaje y al entorno en cada nueva versión lanzada.
DIV DX
[editar]DIV DX es el sucesor oficial de DIV2, basado en el código original y 100% compatible con el código fuente o binarios generados por DIV y DIV2 (salvo el engine 3D, también conocido como "modo 8"). La nueva versión soporta altas resoluciones (hasta 1920x1080) y funciona en muchas plataformas diferentes, incluyendo Android, Windows, GCW Zero, Pandora, Linux, Raspberry Pi, Mac OSX y Javascript. Es posible encontrar juegos de demostración en su página web oficial.
Actualmente está en desarrollo y el 29 de noviembre de 2016 su código fuente fue liberado.[4]
PixTudio
[editar]PixTudio es un fork de BennuGD con algunas mejoras y actualizaciones, incluyendo aceleración gráfica por GPU, renderizado de texto con tipografías FreeType, mejoras en el soporte de gamepads, soporte para archivos gráficos JPG y WEBP, descarga de archivos y peticiones web con cURL, reproducción de vídeo Theora y reproducción de música en formato MP3. Originalmente fue desarrollado como motor del videojuego eXplosive Dinosaurs, aunque posteriormente se utilizaría también para llevar a cabo el desarrollo de otros videojuegos como Crisis Serena o Tiki Brawl, además de varios proyectos portados desde Fénix o BennuGD. Es el primer engine basado en la sintaxis de DIV Games Studio que ha llegado a Nintendo Switch con eXplosive Dinosaurs y Tiki Brawl.
Ejemplo
[editar]Un sencillo ejemplo de un programa que crea turmites:[5]
Program TURMITE;
Global
orientacion = 1;
xa;
ya;
velocidad = 10;
a = 1;
Begin
set_mode(m320x240);
xa = 160;
ya = 120;
write(0,0,0,0,"Pulsa A para aumentar la velocidad");
write(0,0,10,0,"Pulsa D para disminuir la velocidad");
Repeat
If(xa < 0) xa=320; End
If(xa > 320) xa=0; End
If(ya < 0) ya=240; End
If(ya > 240) ya=0; End
If(key(_a) and velocidad > 1) velocidad--; End
If(key(_d)) velocidad++; End
Switch(get_pixel(xa,ya))
Case 0:
put_pixel(xa,ya,22);
derecha();
End
Case 22:
put_pixel(xa,ya,41);
derecha();
End
Case 41:
put_pixel(xa,ya,54);
izquierda();
izquierda();
End
Case 54:
put_pixel(xa,ya,0);
izquierda();
izquierda();
End
End
End
Frame(velocidad);
Until(key(_esc))
End
Function derecha();
Begin
orientacion++;
If(orientacion > 4) orientacion = 1; End
Switch(orientacion)
Case 1: xa-=a; End
Case 2: ya+=a; End
Case 3: xa+=a; End
Case 4: ya-=a; End
End
End
End
Function izquierda();
Begin
orientacion--;
If(orientacion < 1) orientacion = 4; End
Switch(orientacion)
Case 1: xa+=a; End
Case 2: ya-=a; End
Case 3: xa-=a; End
Case 4: ya+=a; End
End
End
End
Como consecuencia de la introducción de pequeñas modificaciones en algunos elementos del lenguaje, el anterior código se ejecuta sin problemas en DIV, DIV 2, DIV DX y Gemix Studio, pero son necesarias algunas modificaciones para que se ejecute correctamente en Fenix, BennuGD, DIV GO o PixTudio.[6]
Referencias
[editar]- ↑ Historia del software de entretenimiento español en macedoniamagazine.frodrig.com
- ↑ https://github.com/vroman/edivc
- ↑ http://cdiv.sourceforge.net/
- ↑ «Código fuente de DIV Games Studio». Consultado el 23 de noviembre de 2016.
- ↑ A partir del código publicado en la revista DIVmanía, número 4, 1999.
- ↑ Código turmite funcionando en Div GO