Por Luis Daniel Casais Mezquida, Jose Antonio Verde Jiménez y Daniel Gómez Schwartz
Grupo de Usuarios de Linux
Universidad Carlos III de Madrid
Ejemplo de un repositorio FOSS para el taller "Linux y el Open Source Software" de la Jornada de Institutos del T3chFest Ed Day 2024.
Éste paquete es un ejemplo de Free Open Source Software, escrito en Python, y pensado para ejecutarse en Linux.
Incluye 4 juegos clásicos, listos para ser jugados y modificados:
src/cometas.py
: Esquivar asteroides con tu navesrc/buscabombas.py
: Recreación del clásico Buscaminas de Microsoftsrc/arkanoid.py
: Recreación del clásico Arkanoidsrc/pong.py
: Recreación del clásico Pong, con multijugador en un teclado
Es necesario tener instalado Python 3.6.8 o superior.
Puedes comprobar tu versión de Python ejecutando en la terminal:
python3 --version
Éste software viene preparado para ejecutarse con la librería pyxel
.
Puedes instalar la librería usando:
pip install pyxel
En caso de que no puedas instalarla, el repositorio viene con la librería incluída en lib/
y el script principal en bin/pyxel
.
En caso de no tener libSDL2 2.0
(dependencia de pyxel), haz:
export LD_LIBRARY_PATH="$(pwd)/lib"
Puedes descargarte la última versión y el código fuente (Source code (zip)
) desde Releases.
O, usando la terminal:
wget https://github.com/guluc3m/foss-example/archive/refs/tags/v0.1.2.zip
Una vez descargado el archivo comprimido, es necesario navegar a la carpeta de descarga y descomprimirlo:
unzip v0.1.0.zip
Y ya podemos acceder a nuestro paquete:
cd foss-example-0.1.0
Para ejecutar un juego basta con llamar con la librería al script deseado, con el argumento run
.
Si has instalado pyxel:
pyxel run <juego>.py
E.g.:
pyxel run src/cometas.py
Si no has podido instalar pyxel debes ejecutar el script principal de la librería con Python:
python3 <juego>.py
E.g.:
python3 src/cometas.py
Puedes encontrar los controles de cada juego al principio del script principal, o en la pantalla de Leaderboard
/Puntuaciones
.
Tres de los cuatro juegos (Buscabombas, Cometas, y Arkanoid) cuentan con un sistema de rankings en el que se guardan las puntuaciones de los jugadores.
Para activar ésta feature es necesario crear un archivo <juego>.pts
en la raíz del directorio.
E.g.:
touch cometas.pts
Al tener el código fuente de los juegos, puedes editarlos y dejarlos a tu gusto.
Cada juego tiene ciertas variables constantes, o parámetros, ya sea la velocidad o el tamaño de los objetos, etc.
Al modificar éstos parametros cambias el comportamiento del juego.
En éstos juegos éstos parámetros están definidos por variables en mayúsculas al principio del archivo.
Para editar el código fuente basta con usar un editor de texto y pasar el archivo como argumento:
gedit <juego>.py
E.g.:
gedit src/cometas.py
Los recursos de un juego son los sprites, la música, y los sonidos.
Los puedes encontrar dentro del directorio resources/
.
Pyxel incluye un editor de sprites, de sonidos y de música.
Para editar los recursos de un juego basta con llamar a la librería, el argumento edit
, y el archivo .pyxres
donde se guardan los recursos.
Si has instalado pyxel:
pyxel edit <juego>.pyxres
E.g.:
pyxel edit resources/cometas.pyxres
Si no has podido instalar pyxel debes ejecutar el script principal de la librería con Python:
python3 <pyxel> edit <juego>.pyxres
E.g.:
python3 bin/pyxel edit resources/cometas.pyxres
Puedes ver un resumen de cómo funciona la terminal en apuntes_terminal.md
.
Link a las transparencias aquí.