Ir al contenido principal

Primeros pasos con "pygame" para crear video juegos con python.

Inauguramos una serie de artículos en los que aprenderemos a crear video juegos, haciendo uso de la librería externa "pygame" la cual, nos proporcionará las funciones y métodos necesarios para crear nuestros propios video juegos.

En el presente artículo, empezaremos por lo más básico y fundamental que tendremos que hacer al crear cualquier juego. Me estoy refiriendo a la creación de nuestra área de trabajo en donde podremos ir creando los eventos que van a definir el desarrollo de nuestros juegos:


screenpyg

Dado que estamos hablando de una librería externa, antes de poder trabajar con ella, lo primero que haremos será instalarla en nuestro ordenador. Para ello haremos uso del modulo "pip":

installpyg
Una vez que hemos hecho esto, para empezar a escribir nuestro programa, lo primero que haremos será, naturalmente, importar los recursos que vamos a necesitar:

pyg1

En esta ocasión hemos importado el la librería "pygame" (que tal y como ya hemos comentado, contiene las funciones y métodos para crear nuestros juegos. A su vez, podemos efectuar la importación mediante "pygame.locals" la ventaja que tiene este método de importación radica en que, mientras que para llamar a una función hay que hacer referencia al modulo en que se encuentra, escribiendo el nombre del módulo y el nombre de la función separados por un punto, usando este método de importación, muchas veces podremos llamar a la función escribiendo únicamente su nombre (como sucede con las funciones predefinidas de "python"). A su vez, para todos los programas que creemos con "pygame" importaremos "sys", el cual, nos va a permitir realizar operaciones que interactuen directamente con nuestro sistema operativo.

Importados los módulos necesarios, empezaremos a crear nuestra área de trabajo. Para ello (al igual que para crear cualquier programa con "pygame") empezaremos introduciendo la función "pygame.init()" antes de llamar a las funciones que vayamos a emplear en la construcción de nuestro programa:

pyg2

A continuación abordaremos la creación de la ventana en la que se ha de desarrollar el juego. En este punto, lo primero que haremos será definir las dimensiones (en pixels) de nuestra ventana. Para ello, usaremos la función "pygame.display.set_mode(())" en donde especificaremos, mediante la introducción de dos valores enteros, la anchura y la altura de nuestra ventana. Estos valores deberán ir, a su vez, dentro de un paréntesis para evitar un error como el siguiente:

errro

Así, vamos a definir las dimensiones de nuestra ventana, que en nuestro caso va a tener un ancho de 400 pixels y una altura de 300 pixels:

pyg3

También procederemos a dar un titulo a la ventana (el texto que aparece en la parte superior de la misma). Esto lo haremos con el método "pygame.display.set_caption()" que tomará como argumento la cadena que queramos que lleve por titulo ("Hello World!" en nuestro ejemplo):

pyg4

Ubicación del titulo de la ventana:
name

Una vez introducidos los elementos constantes del "juego" podemos empezar con el ciclo en el que se va a desarrollar el mismo:

pyg8

Como se puede ver, empleamos un ciclo "while" el cual se va a ejecutar mientras que no se de alguna circunstancia que lo rompa. Dentro de este ciclo vamos a ubicar los distintos eventos que van a definir la dinámica del juego durante su ejecución y que, a su vez, son los que van a actualizar el estado del mismo, los cuales se van a ir registrando dentro de la función "pygame.event.get()". En nuestro ejemplo hemos incluido un único evento ("QUIT") el cual, si se produce ("if event.type==QUIT:") la ejecución del programa finalizará mediante la función "pygame.quit()", tras lo cual, también se ejecutará la función "exit()" del módulo sys, que procederá a cerrar la ventana.

screenpyg

Con ello tendríamos creada nuestra ventana para nuestro juego. En próximos artículos iremos viendo las distintas posibilidades que nos ofrece el módulo "pygame". En el próximo articulo de esta serie empezaremos a crear las primeras figuras, para representarlas en nuestra ventana.

Podéis ver el código de este ejemplo en el siguiente enlace a Github:

https://github.com/antonioam82/ejercicios-python/blob/master/primer_juego.py

Saludos.








Comentarios

Entradas más populares de este blog

Descargar vídeos y audios de YouTube con Python y Pafy

Introducción: YouTube es una plataforma que nos permite disfrutar de vídeos informativos, películas, música y mucho, mucho más. Siempre que escuchamos una canción queremos descargarla, si vemos un vídeo también queremos descargarlo, de esta manera podríamos verlos desde donde queramos sin necesidad de una conexión a Internet. Hoy te enseñare a descargar vídeos y audios de el sitio web conocido como YoutTube, esto lo lograremos haciendo uso de una librería llamada Pafy, si aun no tienes la librería Pafy, puedes descargarla ingresando al siguiente enlace:  Librería Pafy . Usando Pafy: Pafy una biblioteca de Python para descargar contenido de YouTube y recuperar metadatos. Antes de descargar contenido, usaremos a Pafy para obtener información de un vídeo especifico. A continuación te mostrare un ejemplo para obtener el titulo de un vídeo. import pafy url_video = " https://www.youtube.com/watch?v=JkK8g6FMEXE " video = pafy.new(url_video) pr

Calculando el factorial de un número (ejemplo de función recursiva).

Hola, mi nombre es Antonio Alfonso Martínez y en el presente artículo me dispongo a explicar un sencillo método para calcular el factorial de un número haciendo uso del concepto de recursividad. Para empezar, diremos que el factorial de un número natural "n" es el resultado del producto de todos los números desde 1 hasta dicho número "n". Así, para efectuar el calculo del factorial de un número, vamos a emplear una sencilla función a la que daremos el nombre de "factorial". De modo, que, partiendo del hecho de que el factorial de 1 y 0 es 1, construiremos nuestra función (a la que daremos el nombre de "factorial") para realizar el calculo del factorial de 5: Lo que hace esta función, es tomar como argumento un número "n". de modo que si este es 0 o 1 ("if n==0 or n==1:") la función devolverá directamente como resultado el número 1 ("resultado=1"). Sin embargo si dicho número "n" es mayor que

Sistema Hexadecimal - Sistema de numeración posicional

Sistema Hexadecimal El sistema hexadecimal es un sistema numérico que tiene como base el numero 16, y es una variante de los numero binarios El sistema hexadecimal es utilizado por nuestros ordenadores con el fin de abreviar valores de datos e instrucciones de memoria. Esta es una imagen que muestra el contenido de un archivo con exención 'dll' en un editor de texto, como el editor de texto no reconoce este tipo de archivo, nos lo muestra de esta manera: Como se puede apreciar, en vez de ver una gran cantidad de 0 y 1, vemos que hay grupos de 4 dígitos, y si observamos, vemos que son grupos de dígitos hexadecimales. El archivo cuentan con más de 48 mil lineas, por ello no se me es posible mostrarlo todo. Este es uno de los usos del sistema hexadecimal para abreviar grandes cantidades de 0 y 1. Ustedes mismos pueden hacer la prueba con una imagen o con cualquier otro tipo de texto. El sistema hexadecima, esta conformado por solo 16 dígitos. A continuación te los