La versión 1.6.10 de Bullet dodger ya está disponible
En la última publicación que hice sobre Python os enseñé a crear este juego. A dicho juego le he añadido algunas mejoras y he hecho que se pueda instalar con el gestor de paquetes pip (leyendo la documentación sobre paquetes de Python https://packaging.python.org/distributing/ podéis aprender a hacerlo).
La instrucción para instalar el juego es
sudo pip install --pre bullet_dodger
(la opción --pre
no hará
falta cuando la versión 1.9.2 de pygame deje de estar en beta)pip install bullet_dodger
. Esta
orden instala las dependencias del juego (por ahora solo pygame) y
también el juego. Una vez instalado, basta con ejecutar en la terminal
bullet_dodger
para jugar.
He añadido también mi juego como entrada en las siguientes páginas web para que más gente lo pueda encontrar:
Aliases para agilizar tareas en Bash
Los aliases, como su nombre indica, sirven para llamar a una orden por
otro nombre. La orden a la que se le aplica un alias va a funcionar como
si se le hubiese llamado directamente. Por ejemplo, si yo quiero ir al
directorio padre con la orden ..
, solo tengo que crear un alias desde
la terminal con la siguiente orden: alias ..='cd ..'
.
Seguramente tengas ya varios aliases creados y no lo sepas. Si ejecutas
alias
, podrás ver los aliases que tengas ya definidos. Estos aliases
se encuentran definidos en el archivo .bashrc
, ahí puedes añadir los
tuyos propios (recuerda recargar la configuración de
Bash
tras añadirlos para que puedas empezar a usarlos sin reiniciar el
ordenador). Pero si quieres añadir muchos y quieres distinguir cuáles
son los tuyos, es recomendable tenerlos en un archivo separado.
En el archivo .bashrc
encontrarás probablemente estas líneas o algunas
parecidas:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Esto quiere decir que cada vez que inicias Bash, se cargan los alias
encontrados en el archivo ~/.bash_aliases
en caso de que exista. Si no
tienes aún este archivo, créalo y añade algunos aliases que te ayuden en
tu día a día. A la larga te ahorrarán muchísimo tiempo.
A continuación, te muestro algunos aliases útiles. Tengo un repositorio en https://notabug.org/jorgesumle/bash_aliases con todos mis aliases, echále un vistazo y copia los que te sean útiles.
alias ....='cd ../../..'
alias ...='cd ../..'
alias ..='cd ..'
alias install='sudo apt-get install'
alias search='apt-cache search'
alias update='sudo apt-get update && sudo apt-get upgrade'
Creación de un videojuego con pygame
En esta entrada, vamos a ver cómo crear un videojuego con Python y pygame. El videojuego se llama Bullet dodger. El objetivo es esquivar todas las balas que se disparen para conseguir el mayor número de puntos posibles. Cada bala disparada aumenta la puntuación en 1. El personaje se maneja con el ratón, y el juego tiene un modo de pantalla completa.
Antes de comenzar a programar, debes asegurarte de que tienes todos los materiales necesarios. Solamente necesitas pygame, Python y un editor de texto o IDE con el que te sientas cómodo. Abajo tienes la bala que utilizaremos para el juego; descárgala y ubícala en la carpeta donde vayas a programar.
Paso 1: Crear ventana básica
Lo primero que hay que hacer para utilizar pygame, es importarlo.
Normalmente son necesarias las librerías pygame
y pygame.locals
.
Crea un archivo de llamado main.py
e importa dichas librerías.
Desarrolladores ingratos
Nunca me había pasado que alguien despreciara los errores que le señalara ni rechazara mis contribuciones a pesar de ser correctas. Anteriormente, incluso cuando me equivoqué al hacer una corrección, siempre me respondieron más amablemente.
En particular, a dicho personaje le señalé un error y pasó de él excusándose diciendo que se trataba de un componente que usa el proyecto pero no forma parte de él. Esto es una escusa pésima, ya que el error afecta a su proyecto. En contraposición, los desarrollares del fork de gogs para notabug.org y Unknown Horizons (por poner ejemplos que conozco de primera mano) hacen lo correcto: han sido notificados varios errores de los que no tenían la culpa directamente, pero hasta que no los corrigieron colaborando con el otro proyecto o actualizaron a una versión del software sin los errores, no cerraron los tiques (también llamado issues). Es absurdo ignorar los problemas por pequeños que sean, y más cuando te afectan, pues forman parte de las dependencias de tu proyecto. Al idiota que os he mencionado le arreglé el error a dicho proyecto (aunque el individuo cerró la incidencia antes de que lo hiciera).
Al individuo, también le avisé en otro tique de que la licencia Creative Commons no sirve para el código y le insté a que usara una que tuviera validez para el software. La licencia Creative Commons sirve para el contenido de un libro, sitio web, etc., no para el código fuente.
Lo más extraño fue que aún habiéndole dicho esto mostrándole las explicaciones de los propios creadores de la licencia, volvió a ignorar el tique irresponsablemente. En resumen, pasó de los dos errores que le mostré y me contestó con desprecio. Exactamente lo contrario a lo que estoy acostumbrado y lo que me ha pasado con otros equipos de desarrollo.
En el equipo de desarrollo de Unknown Horizons del que formo parte siempre nos agradamos de que alguien contribuya a nuestro proyecto y le agradecemos su trabajo, aceptamos con gusto correcciones de nuestros errores, les aclaramos cosas que no entienden y ayudamos a los colaboradores a terminar las mejoras que han empezado. Siempre estamos agradecidos y les respondemos amablemente porque son nuestros amigos, ya que nos ayudan recibiendo poco o nada a cambio.
Si por el contrario, una persona que colabora con un repositorio se encuentra con un equipo de desarrolladores que son incapaces de admitir sus errores y que responden altivamente, siente que no tiene sentido perder el tiempo en volver a ayudar a personas con el síndrome de Estocolmo que van a despreciar e insultar su buena voluntad.