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.

viernes, 24 de noviembre de 2017

Introducción

Este blog personal estará dedicado a eso precisamente, "Cosas pythonezcas". El nombre es algo ridículo pero es básicamente de lo que trata esto. Voy a compartir aquí algunas cosas que he ido aprendiendo y algunas que no termino de comprender. Quizás el blog te enseñe alguna cosa nueva, quizás pueda aprender yo también. Entonces, como primera entrada del blog, voy a facilitar algunos recursos que yo utilizo y algunos otros que no, pero son igualmente útiles.

Python 3 - descarga desde el sitio oficial

Python es un lenguaje de programación multiparadigma (admite orientación a objetos, programación imperativa y funcional), interpretado y multiplataforma. Es el lenguaje que vamos a usar en su versión 3.

Sublime Text 3 - descarga desde el sitio oficial

Sublime text es un editor de texto y código que también es multiplataforma. Es el editor que yo utilizo y prefiero. Desafortunadamente no es 100% gratuito, pero la versión de "evaluación" es totalmente funcional y no caduca (como WinRAR?).

PyCharm - descarga desde el sitio oficial

PyCharm es un IDE dedicado específicamente a Python. Posee revisión de código, un "debugger", control de versiones, entre otras características. No lo utilizo, pero es una de las herramientas más útiles que uno puede encontrar. Al igual que Sublime Text, no es 100% gratuito, pero cuenta con una versión llamada "Community" que sí lo es.

Esas serían las herramientas más "necesarias" para empezar (evidentemente vas a necesitar Python3 para eso...). Sublime Text y Pycharm cumplen la misma función de "correr" tu programa, así que descargar ambas no es estrictamente necesario.