jueves, 22 de junio de 2023

SDL - Penetrator

  Página principal

SDL
  Penetrator


Uno de los primeros juegos que tuve para el Spectrum fue Penetrator.
Penetrator es un videojuego de ZX Spectrum de 1982 creado por los programadores de Melbourne House Philip Mitchell y Veronika Megler.
El juego es un clon del juego de arcade Scramble de Konami de 1981. Penetrator fue portado al TRS-80 y al Commodore
Aún algunas veces utilizo un emulador para jugar a Penetrator, y sigo pasándomelo bien.


Un día me propuse hacer el juego con la librería SDL.
Aunque no debía ser perfecto, el laberinto de las cuevas debería ser el mismo.
Lo primero era sacar del código original la forma de la cueva, y lo hice, no fue difícil.
Después de un par de días conseguí esto:

_______________________________________________________

Versión 2 -30/07/2023
He realizado unas cuantas mejoras, como la destrucción de las bombas y los misiles cuando tocan la cueva.
Mejorado el chequeo de colisión.
También los misiles salen antes y son más peligrosos.
He animado las explosiones, además de animar los radares.


Penetrator V2

DLL necesarias para Windows




No es del todo perfecto,  pero es pasable y muy mejorable.
Está programado para configuraciones gráficas de 32bits.
Con la librería SDL2 funciona tanto en Linux como en Windows, con SDL1 solo funciona en Linux.

Librerías DLL_SDL Windows

Penetrator SDL1_Linux.

Penetrator SDL2_Linux y Windows.



Saludos.
Juan Galaz



Bibliografía:

Música: https://iconos8.es/music/track/fighting-hells-warriors--1

https://motionarray.com/royalty-free-music/cowardly-harry-1573176/

jueves, 15 de junio de 2023

MiniWin

  Página principal

MiniWin

Me gusta navegar por internet buscando cosas curiosas, y en esta búsqueda encontré MiniWin.
Su presentación es:

" MiniWin es una mini-librería (para ser justos, no llega ni a eso) para poder abrir una ventana, pintar en ella, detectar la presión de las teclas y el movimiento y los botones del ratón. Tiene un objetivo pedagógico, sirve esencialmente para poder implementar programas muy simples (como pequeños juegos) que dibujen cosas por la pantalla y con los que se pueda interaccionar mínimamente.

Actualmente funciona en Windows y Linux (si álguien se ofrece a subvencionar un MacBook, quizás entonces me plantee hacer la versión Mac OS X...). "

La explicación es lo mas fiel a lo que se puede esperar.

Como curiosidad las funciones están en español, por lo cual los programadores de lengua inglesa deberían aprender algo de español, de la misma manera que los españoles hemos tenido que aprender palabras en ingles para poder programar ;).

Un programa simple es:

#include "miniwin.h"
using namespace miniwin;

int main() {
  vredimensiona(200, 200);
  linea(0, 0, 100, 100);
  color(AZUL);
  rectangulo(10, 10, 50, 50);
  color(ROJO);
  circulo(100, 50, 20);
  color(AZUL);
  circulo_lleno(50, 100, 20);
  color(VERDE);
  rectangulo_lleno(50, 50, 100, 100);
  refresca();  
}

Para empezar lo mas rápido, es instalar  Code::Blocks  y seguir las instrucciones de MiniWin que son sencillas.
Funciona bien en windows y en Linux, y la librería es simplemente sencilla.

Algunos ejemplos:

El ejemplo de reloj retocado por mi.








Para los que empiezan a programar y los que les gusta experimentar es una muy buena mini-librería.

Ejemplo compilados por mi en Linux.
Librerías originales.


Saludos.
Juan Galaz



Bibliografía:

https://miniwin.readthedocs.io/en/latest/Instalacion.html
https://github.com/pauek/MiniWin
https://www.youtube.com/watch?v=FHFz83xXyps

miércoles, 7 de junio de 2023

NAVE (mata-mata) SDL

  Página principal

SDL
  NAVE


Un simple mata mata que aumenta la velocidad en cada nivel.



Está compilado tanto para Windows como para Linux.

Programa SDL
Programa SDL2

Librerías DLL_SDL2 Windows
Librerías DLL SDL1 Windows

Saludos.
Juan Galaz


 
Bibliografía: