Aprende programación






20 ago 2009

Videojuego retro en QBasic - Zona Line 2 (Clon del Tron)


A continuación vamos con un juego retro. Este es el juego propio más antiguo que aún conservo (del año 1995 aprox). El código fuente que podreis descargar está diseñado para QBasic. Este era un compilador/interprete para Basic que se regalaba con MSDos.

Es muy curioso como se valoran las cosas según experiencias anteriores. Cuando inicié con QBasic me sorprendió gratamente ya que no tenía que poner en número de la línea al principio. Esto que parece una tontería, no lo es. En el antiguo Basic era obligatorio poner un número de línea por lo que tenias que tener muy claro que es lo que iba a realizar la aplicación y en cuantas líneas lo ibas a realizar. Existían trucos como númerar las líneas de 10 en 10 para de esta forma si necesitabas poner líneas en medio tenías 9 números más. La eliminación de los números en las líneas supuso un gran avance que convertía los lenguajes de programación en algo más humano. De hecho, ese es el futuro de la programación. A medida que los lenguajes evolucionan, intentan emular más a la perspectiva humana como por ejemplo la programación orientada a objetos. Para mí, los lenguajes del futuro estarán orientados al modo de ver de las personas, e incluso, a pensar y tomar decisiones. Aquí se abre otra reflexión pero que la trataré en otro hilo ¿Como se comenten menos fallos? ¿Intentar que el programador piense y decida o que el lenguaje de programación piense y decida? Actualmente, no conozco lenguajes de programación que tengan IA y sepan decidir que hacer cuando hay un null, una situación inesperada o incluso que se comunique con el usuario final para en caso de duda de elegir opciones y aprenda (al igual de en el desarrollo ágil pero interaccionando directamente con el programa), pero darle tiempo...

Volviendo al tema del juego, este está básado en la famosa pelicula Tron en la que motos cibernéticas son dirigidas en un campo de batalla y dejan una estela en forma de muro. El objetivo del juego es conseguir que la otra moto se estrelle. Aquí teneis una espectular escena de la película :)


El juego básico, líneas que se mueven y se estrellan, es muy fácil de desarrollar. De hecho cuando faltaba el profesor en clase de programación, en 5-10 minutos programabamos uno y pasabamos la hora jugando entre varias personas :). Sin embargo, esta versión esta mejorada permitiendo elegir entre varios paises y cada uno tiene algo especial. Algunos lanzan bombas o estelas como Francia, España y URSS, otros son defensivos como Italia o Canada. Las teclas del juego son 8,4,6,2 para moverse y tecla espaciadora para lanzar la "magia" (aunque hay algunos que la propia característica la usan siempre y no utilizan el espacio como el caso de Brasil o Canada) . Comentar también que las "magias" hay que capturarlas. Podreis ver unos circulos en los que hay que pasar por encima.

Para que no os asusteis, comentaros que al principio aparece al cambiar cada mes un mensaje de que se van a borrar los Hits. Esto es solo que las puntuaciones se reinician al cambiar de mes.

Por último, como es un juego muy antiguo, seguramente os irá muy rápido por la velocidad del procesador. En aquél momento, los ordenadores tenían un botón "turbo" para poner el procesador a la mitad de la velocidad. Ahora está todo más sincronizado con el tiempo real, en vez de con la velocidad del CPU. Sin embargo, para jugar a juegos antiguos a una velocidad normal es necesario un emulador de MSDOS en procesadores antiguos. Si quereis podeis instalaros DOSBox. Os explico los pasos:
1-Descargar e instalar DOSBox.
2-En la opción del menu nueva, ir a DOSBox->Configuración->Editar configuracion.
3-Cambiar la linea cycles=auto por cycles=max. (A mí con esto me va más o menos a la misma velocidad del 486 de 66Mhz).
4-Ejecutar DOSBox en el menú.
5-Escribir "mount c rutadeldirectoriodelZL2"
6-Escribir "c:" y finalmente ejecutar el bat "ZL2"
Y con esto ya estaría.

El código fuente lo teneis en el fichero con extensión .BAS. Lo escribi hace mucho así que no seais muy críticos. Recientemente fui a leer ese código y no entendia nada :)

Y no me enrollo más ... que me ha salido un post muy largo. :)

1 comentario:

  1. A proposito del post, he estado cotilleando y he tenido la grata sorpresa de que está la película entera de Tron :)

    http://www.youtube.com/watch?v=B44U691bi-g&feature=PlayList&p=F17F8E9422C0C514&index=0&playnext=1

    Ja ja ja. Hay frases que me han hecho gracia porque están de rabiosa actualidad. Es una charla entre el programador y dos programas:

    - Programador: "Os voy a decir la verdad. Soy lo que vosotros llamais un programador"
    - Programa 2: "¿Un programador?"
    - Programador: "Y en algún cálculo debí equivocarme"
    - Programa 1: "Si eres un programador, lo que has hecho hasta ahora ha sido deacuerdo con algún plan"
    - Programador: "Je je je. Algo así. Bueno ya sabeis como va esto: estar haciendo lo que se supone que debeis hacer aunque parezca una locura"
    - Programa 1: "Si. Eso es lo que pasa con los programas".
    - Programador: "Siento decepcionarte pero la mayoria de las veces eso mismo pasa con los programadores"

    Ja ja ja. Que bueno!

    ResponderEliminar