Archivos mensuales: Mayo 2016

RasPiO Pro Hat

Hace unas semanas publicaba un episodio del podcast acerca del RasPiO Pro Hat, una expansión para la Raspberry Pi que protege, rotula y ordena todos los pines GPIO para que usar nuestra Raspberry Pi para prototipar sea más fácil y seguro que nunca. En aquel momento, este proyecto estaba todavía en fase de financiación en Kickstarter y puse mi granito de arena aportando una contribución que me premiaría con uno de los primeros ejemplares de este aparato.

Mi RasPiO Pro Hat :)
Mi RasPiO Pro Hat 🙂

Hace unos pocos días me llegó, por fin, mi Pro Hat. En este pequeño artículo y para todos los que no habéis escuchado el episodio en cuestión os contaré de qué se trata y bajo qué circunstancias nos puede interesar adquirir este complemento que actualmente se encuentra en fase de pedido anticipado en la web de Alex Eames, su creador, por 15 £ envío  internacional incluido.

Sigue leyendo RasPiO Pro Hat

Aplicando gravedad a nuestro clon de Tetris

En esta semana vamos a retomar Cuatris, nuestro clon de Tetris, donde lo dejamos la pasada semana. Recordando el plan, la secuencia que íbamos a seguir es la siguiente:

  1. Dibujar una pieza (básica) y programar la rotación: lo vimos la semana pasada
  2. Programar la gravedad y el resto de movimientos: el artículo de hoy
  3. Colisiones de la pieza con otras piezas y el borde de la pantalla.
  4. Haciendo líneas y retocando la mecánica anterior
  5. Puntuaciones y niveles
  6. Borde, marcador, tabla de puntuaciones
  7. Refinando los gráficos de las piezas

Lo que haremos para eso va a ser usar los eventos de usuario que proporciona Pygame, de tal modo que nos adecuaremos a las reglas internas de funcionamiento del bucle de procesado de eventos que ya tenemos, programando la ocurrencia de un evento cada cierto tiempo (dos segundos por ahora).

Además, programaremos dos movimientos más, izquierda y derecha, a lo largo de una pantalla que ya redimensionaremos a su tamaño definitivo (10 cuadros de ancho por 20 de alto).

¡Manos a la obra!

(Foto: Museos Científicos Coruñeses)

Sigue leyendo Aplicando gravedad a nuestro clon de Tetris

Episodio 23 – Videojuegos y aprendizaje

En el episodio de hoy os hablo de videojuegos desde el punto de vista del aprendizaje: qué aportan tanto al que juega como al que usa la programación de videojuegos como vehículo para aprender a programar.

Enlaces del episodio:

Espero vuestros comentarios en http://pitando.net

Nuestra pieza L

“Cuatris”, o nuestro clon de Tetris en Python: ¡comenzamos!

Tetris es un juego que marcó una época. Llegó a occidente en 1986 y fue desarrollado en 1984 por Alekséi Pázhitnov (Muscú, 1956), con la ayuda de Dmitri Pavlovski y Vadim Gerasimov mientras trabajaba en la Academia de Ciencias de la URSS.

La mecánica es sencilla: tenemos una serie de piezas llamadas Tretriminos J, L, Z, S, I, O y T, que caen desde la parte de arriba de la pantalla con ayuda de la gravedad.

Los Tetriminos: I, J, L, O, S, T y Z
Los Tetriminos: I, J, L, O, S, T y Z
  • La pantalla visible del Tetris mide 10 cuadros de ancho por 20 de alto.
  • El jugador, con ayuda de los controles, puede desplazarlas en horizontal (izquierda y derecha) y girarlas de 90 en 90º tanto en sentido horario como en sentido antihorario.
  • Cuando la haya colocado correctamente, podrá precipitarla hacia abajo para encajarlas en las piezas ya depositadas, para formar líneas.
  • Cuando se forma una línea horizontal, todos los segmentos de las piezas que forman una línea desaparecen, y todos los elementos que hubiera por encima, caen.
  • Cada cierto número de líneas, que forman un nivel, la velocidad aumenta.

Lo que vamos a hacer es programar poco a poco un juego como éste, con una estructura que a día de hoy seguirá más o menos este guión:

  1. Dibujar una pieza (básica) y programar la rotación: el artículo de hoy
  2. Programar la gravedad y el resto de movimientos
  3. Colisiones de la pieza con otras piezas y el borde de la pantalla.
  4. Haciendo líneas y retocando la mecánica anterior
  5. Puntuaciones y niveles
  6. Borde, marcador, tabla de puntuaciones
  7. Refinando los gráficos de las piezas

Para poder aprovechar estos artículos conviene que hayas hecho los anteriores artículos de la serie de Pygame con Python, y la propia serie de Python.

¡Vamos a ello!

Sigue leyendo “Cuatris”, o nuestro clon de Tetris en Python: ¡comenzamos!

Comparar objetos en Python y otras sutilezas

En esta entrada vamos a continuar aprendiendo técnicas y conceptos relacionados con la programación orientada a objetos, que en la anterior entrega quedaron postergados de forma deliberada porque de por sí daban para bastante discusión.

En concreto, veremos tres cosas muy útiles cuando se trata de hacer programas potentes:

  • Comparación entre objetos de una misma clase: cómo comparar objetos correctamente.
  • Acceso a los métodos y variables de la superclase, o clase de la cual heredamos.
  • Ocultación de la información, o encapsulamiento.

¡Vamos allá!

Sigue leyendo Comparar objetos en Python y otras sutilezas