Reflexión del día

domingo, 24 de diciembre de 2017

Instalación de librería pygame

Pygame es una de las librerías más populares en el desarrollo de juegos en Python. Una de sus ventajas principales es su portabilidad y versatilidad, permitiéndonos ejecutar nuestro código en diferentes SO. Algunas personas tienen dificultad para instalar esta librería, así que trataré de solucionar ciertas dudas.

Requerimientos:

Python3 - Otra de las ventajas de la librería pygame es que no requiere más dependencias que Python.

Entonces, ya que tenemos eso, procedamos a la instalación de pygame.

En Windows:

Tras haber instalado Python3 podremos acceder a Pip, un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software escritos en Python. Para asegurarnos que tenemos a Pip, solo basta con ingresar un comando en la línea de comandos.

    pip list
    #También se puede utilizar pip3 list

Probablemente nos topemos con una ventana como esta:
 En la lista veremos los paquetes que tenemos actualmente instalados.

Ahora, vamos a instalar pygame. Gracias a Pip, solo basta con teclear un pequeño comando:

    pip install pygame
    #También se puede utilizar pip3 install pygame

Se nos pedirá confirmar, y tras esperar un poco, tendremos instalada la librería pygame. Ahora podrás importarla a tus respectivos proyectos.

En Sistemas UNIX-like:

Como ejemplo, usaré Ubuntu Mate 16.04. En Ubuntu (y en muchas otras distros "Linux") Python3 suele venir preinstalado. La forma de comprobarlo es llamando a la terminal y escribiendo:

    python3

Desafortunadamente, pip no viene por defecto y es necesario instalarlo. Mediante la terminal, este proceso es muy sencillo y toma muy poco tiempo. Solo es necesario escribir los comandos en la terminal:


Esto instalará a Pip en nuestro sistema y podremos proceder a instalar pygame con la misma facilidad:
Nos pedirá confirmación y solo restará esperar a que termine de instalarse. Ya podremos importar la libería a los proyectos que deseemos.

Eso sería todo por el momento, espero que haya sido suficientemente claro y de utilidad. Diviértanse con la librería y expriman su máximo potencial.

sábado, 2 de diciembre de 2017

Ctypes y cuadros de diálogo

Que tengan muy buenos días, tardes o noches. En esta oportunidad, me gustaría compartir un dato muy curioso que podría ser de gran utilidad para ciertas aplicaciones que se vayan a desarrollar. Espero que sea de su agrado.

En Python existe un módulo de nombre ctypes que nos permite el acceso directo a liberías compartidas del SO.

Lo que voy a compartir es un pequeño dato que me ha parecido interesante y cómo emplearlo. Consiste en la creación de un cuadro de diálogo. El procedimiento es realmente sencillo.

    import ctypes
    ctypes.windll.user32.MessageBoxW(0,"Texto","Titulo",0)

Esto nos permitirá crear un pequeño cuadro de diálogo con las características especificadas. Otra forma de hacerlo, y que yo suelo preferir, es definiendo una función para nuestro cuadro de diálogo.

    import ctypes
    def Cuadro(titulo,texto,est):
        return ctypes.windll.user32.MessageBoxW(0,texto,titulo,est)
    Cuadro("Saludos a todos!","Que tengas un buen dia",0)

El argumento "est" de la función que acabamos de definir hace referencia al "estilo" del cuadro de diálogo. En el ejemplo, hemos elegido 0, que es un botón de "Aceptar".

Estilos disponibles de cuadros de diálogo:

    0: Aceptar
    1: Aceptar | Cancelar
    2: Anular | Reintentar | Omitir
    3: Sí | No | Cancelar
    4: Sí | No
    5: Reintentar | Cancelar
    6: Cancelar | Reintentar | Continuar

Si han revisado el código en el intérprete de Python, seguramente habrán notado que tras hacer click sobre alguna de las opciones, el cuadro se cierra y se nos devuelve un entero. Ese valor será el que usaremos para definir qué hará nuestro programa cuando alguna opción sea elegida.
Uno de los métodos más sencillos es asignar una variable que luego podemos imprimir en la consola para conocer su valor numérico.

    x = Cuadro("Hola","Esto es un mensaje de prueba",3)
    print(x)

Si hacemos click en los diferentes botones, se nos devolverá su valor correspondiente. Con este valor y gracias a las sentencias if podremos definir qué se ejecutará con cada opción.

    x = Cuadro("Prueba","Comenzar en pantalla completa?",3)
    if x == 6:
        print("Comenzando en pantalla completa...")
    elif x == 7:
        print("Comenzando en modo ventana...")
    elif x == 2:
        print("Cerrando el programa...")

Explicando el ejemplo anterior, hemos utilizado el estilo 3 de nuestro cuadro de dialogo. Esto creará un cuadro con las opciones de Sí, No y Cancelar. Si elegimos Si, nuestra variable tendrá un valor de 6; si elegimos No, un valor de 7; y si elegimos Cancelar, el valor de 2. Con las sentencias if podremos definir exactamente lo que se ejecutará dependiendo de la elección del usuario.

Espero que este pequeño dato pueda ser de utilidad, si en caso surgiesen problemas, pueden escribir sus dudas en los comentarios de esta entrada. Eso sería todo por ahora, que tengan un buen día y que puedan concretar sus metas. Hasta pronto.