domingo, 12 de agosto de 2012

Nuevo blog

Yo tengo varios blogs de distintos temas, así que decidí unirlos todos en uno solo llamado El Bigote de Luigi (http://bigotedeluigi.blogspot.com/), en ese blog están todas las entradas de este blog junto con entradas de mis otros blogs. El nuevo blog tiene secciones por si solo se quieren ver las entradas correspondientes a uno de los blogs originales, esta es la url para la sección Nerd Programming: http://bigotedeluigi.blogspot.com/search/label/nerd%20programming

Las nuevas entradas van a salir en ese blog y en este voy a dejar esta entrada para que la puedan ver y dirigirse al blog nuevo.


viernes, 20 de julio de 2012

Torrnament v1.0

Le agregué una interfaz gráfica al programa Torrnament que hice hace un tiempo. Lo que hace este programa es ordenar competidores como para un torneo, simplemente hay que ingresar la cantidad de competidores por encuentro y después ingresar los competidores uno por línea.
El programa ordenará a los competidores en grupos de la cantidad marcada aleatoriamente.

Supongamos que estamos armando un torneo con encuentros 1vs1 (2 personas por grupo) y tenemos a los siguientes competidores: Pedro, Pablo, Juan, Rodrigo, Martin, Santiago. Rellenamos los datos como en la imagen:
Y al hacer click en siguiente obtenemos a los participantes ordenados aleatoriamente en grupos de dos:
Es así de simple, pensado para evitar el trabajo de encontrar una manera aleatoria de ordenar a los participantes.

Por ahora simplemente está el código fuente del programa en este link: http://pastebin.com/PaMxe082. Tengo pensado acomplejarlo en el futuro y agregar por ejemplo la posibilidad de seleccionar los ganadores para ir avanzando en la llave, en ese momento haré un instalador.

jueves, 19 de julio de 2012

Cómo instalar PyDice

Pasándole el programa PyDice a un amigo que no sabe de programación ni de python en general me di cuenta de que instalar ese programa puede ser complicado si no se sabe lo que se está haciendo, además vi que el instalador que armé no está andando muy bien (tendré que revisarlo más tarde), así que decidí escribir una guía simple de cómo instalar el programa.Primero se descargan la última versión del programa: http://www.mediafire.com/?n7f70r4mphgn3a2 (siempre hay un link a la última versión en la barra lateral).


Ubuntu
En una PC con Ubuntu es muy simple, primero hay que asegurarse de tener instalados los paquetes python3 y python3-tk (el instalador debería fijarse si están instalados e instalarlos si no lo están, pero parece que no funciona eso). Si no los tienen, éstos se pueden instalar con un par de comandos en la terminal:

$ sudo apt-get install python3

$ sudo apt-get install python3-tk

Lo siguiente es descomprimir el archivo zip de PyDice y correr el archivo install.sh en una terminal, al final debería estar funcionando y correr con el comando pydice.

Linux (todas las distros)
Para otras distros no basadas en Ubuntu hay que asegurarse de tener instalados los paquetes python3 y python3-tk, para instalarlos depende de la distro que estén usando, así que de eso se tendrán que ocupar ustedes.

Para instalar el PyDice hay distintas maneras de hacerlo, pero creo que la más simple es editar el archivo install.sh y cambiar todo su contenido por el siguiente:

#!/bin/bash
MY_PATH="`dirname \"$0\"`"

cp -r $MY_PATH/pydice/ /home/$USER/

sudo cp $MY_PATH/pydice/pydice /usr/local/bin/
sudo chmod +x /usr/local/bin/pydice
chmod u+x /home/$USER/pydice/dados
rm /home/$USER/pydice/pydice

Cuando corran el archivo install.sh, se encargará de guardar la carpeta pydice en su home y de agregar el comando pydice para que lo puedan correr desde una terminal.


Windows
Estuve buscando cómo correr el programa en Windows, pero sin Windows en  mi PC no puedo probar, encontré una manera de crear un ejecutable, pero devuelta, preciso Windows para ello. Más adelante voy a buscar más información y buscar una manera de hacerlo lo más fácil posible.
Por ahora tengo una sugerencia pero no se si funcionará, primero hay que instalar python3 (este instalador debería instalarlo ya con todo lo necesario), después se abre una ventana de comandos (Ejecutar -> cmd) y ahí se corre el comando:

python c:/ruta/del/archivo/dados.py

Hay que cambiar c:/ruta/del/archivo/dados.py por la ruta al archivo dados.py. Esto debería correr el programa, si no se corre, puede ser porque python no está asociado a los "autoejecutables", acá dice cómo arreglar esto.

IDE de flash en Linux

Ya que hace poco cambié a Ubuntu en la PC que usaba para programar en Actionscript3, me puse a averiguar cual era la mejor manera de armar una IDE (Entorno de Desarrollo Integrado) de Flash en Linux. Después de un rato de búsqueda encontré solamente artículos viejos que hablaban de métodos ya obsoletos. Así que se me ocurrió que en lugar de tener un programa que organice todo, podría tener un editor de texto con los códigos de colores de ActionScript y tener un simple comando para compilar el proyecto, voy a explicar cómo lo hice para quien quiera programar en Actionscript en Linux.

Primero se van bajando el Flex, yo lo descomprimí y lo guardé en la carpeta /.flex dentro de mi home pero se puede guardar en cualquier lugar.

Lo siguiente es instalar un editor de texto, yo recomiendo el Geany que ya tiene el código de colores para ActionScript y viene en los repositorios de Ubuntu, además tiene una consola integrada para correr más cómodamente los comandos en la terminal.
Para instalar en Ubuntu corren lo siguiente en una terminal:

$ sudo apt-get install geany

Si prefieren el Gedit, pueden instalar un archivo de lenguaje para el ActionScript. Para ello descargan este archivo y lo guardan en la carpeta /usr/share/gtksourceview-1.0/language-specs. Traducido de esta página: http://www.williambrownstreet.net/wordpress/?p=84

Yo estoy usando firefox para ver el archivo compilado (más adelante explico cómo hice para que abra el archivo automáticamente al compilar), así que hay que fijarse de tener el plugin de flash al día, por suerte hay una página que nos muestra sencillamente si es necesario actualizar. Si es necesario actualizar, hay un tutorial de cómo hacerlo en la página de apoyo de mozilla.

Lo último es hacer que sea fácil compilar el proyecto y que se corra automáticamente en firefox para mayor comodidad. Primero se crea un programa que hará la compilación de forma genérica, para eso se crea un archivo (yo lo llamé compflash) con el siguiente contenido:

#!/bin/bash

#Primer argumento: dirección de entrada
#Segundo argumento: dirección de salida

/home/freakrho/.flex/bin/mxmlc $1 -static-link-runtime-shared-libraries

mv "${1%.*}.swf" $2

firefox $2


Tienen que cambiar /home/freakrho/.flex por la ruta a donde copiaron el Flex. Este programa lo que hará es compilar el archivo que se ponga como primer argumento y guardarlo en el que se ponga como segundo. Suponiendo que el programa compflash se encuentre en el home y el archivo main.as también, una manera de compilarlo sería el siguiente comando:

$ ./compflash main.as main.swf

Ahora que está hecho el programa, lo primero es colocarlo en la carpeta /bin para poder correrlo como cualquier otro programa, y darle permisos de ejecución para poder correrlo. Eso se hace simplemente con el siguiente comando (suponiendo que ya se está ubicado en la carpeta donde esté el programa):

$ sudo mv compflash /bin/compflash; sudo chmod u+x /bin/compflash

Le pueden dar el nombre que quieran (compflash no es tan lindo), solo tómenlo en cuenta para la siguiente parte.

Ahora tenemos un comando que compila el programa, pero no es tan simple, así que para simplificar las cosas vamos a hacer un programa para el proyecto en particular en el que estemos trabajando, así que cada vez que empecemos un proyecto hay que crear uno de estos, pero es muy simple. Se crea un archivo (yo lo llamé play) en un lugar que recuerden (por ejemplo, la carpeta principal del proyecto) con el siguiente contenido:

#!/bin/bash

compflash /home/freakrho/workspace/test/src/Main.as /home/freakrho/workspace/test/bin/colour.swf


Es bastante simple, tienen que cambiar compflash por el nombre del programa que hayan elejido, /home/freakrho/workspace/test/src/Main.as por la ruta al archivo main del proyecto y /home/freakrho/workspace/test/bin/colour.swf por la ruta del archivo swf resultante. Yo nombré a ese archivo play, así que para compilar mi proyecto solo tengo que escribir en la terminal (ubicado en la carpeta del proyecto):

$ ./play

Actualización: No me di cuenta en el momento pero Geany se puede configurar para que ese archivo se corra al presionar F5. Tienen que ir a Construir -> Establecer comandos de construcción y escribir la ruta al archivo play en la opción "Ejecutar".

Y listo, el programa compila el proyecto y automáticamente lo abre en firefox para poder probarlo, ya probé esto con un juego simple hecho con FlashPunk y funciona perfecto.

Espero que esto ayude a otros novatos en el tema como yo, lo hice porque no encontré ningún tutorial al día para tener una IDE de flash en Linux.

sábado, 31 de diciembre de 2011

Torrnament


Empecé a hacer un programa cuyo fin es organizar torneos, es bastante simple y por ahora funciona solo el consola. El funcionamiento es el siguiente:
  1. Se indica la cantidad de participantes
  2. Se indica la cantidad de competidores por encuentro (por ejemplo, si es 1 vs 1 la cantidad es 2)
  3. Se entran los nombres de los competidores
  4. El programa ahora organiza aleatoriamente los encuentros agrupando participantes en grupos de la cantidad indicada en el paso 2. Si sobran lugares, el programa los rellena con "fantasmas" lo que indica que en ese encuentro hay menos competidores, y en el caso de que haya uno solo, que pase a la siguiente ronda automáticamente.
Así de simple, lo que me interesaba era poder organizar el orden de una manera fácil sin tener que recurrir a tirar dados o tener que usar papeles doblados.

Se llama Torrnament por Torricelli, si, soy ese tipo de nerd.

Si quieren probar este programa, el código fuente está disponible en esta página: http://pastebin.com/PaMxe082

Más adelante me dedicaré a hacer una interfaz gráfica para el programa.

viernes, 4 de noviembre de 2011

PyDice v1.4.2

En esta versión se arregló un bug que había con las tiradas del sistema SWD6. Ahora no solamente funciona bien, sino se ve diferente cuando se tiran dados en este sistema. Se ven los dados tirados sin el wild, los resultados del wild y la suma total (tomando en cuenta de que si sale un 1 en el wild, éste se lleva al dado menor).

Descarga: http://www.mediafire.com/?n7f70r4mphgn3a2

lunes, 31 de octubre de 2011

Nuevo instalador

Esta nueva versión arregla unos bugs relacionados con rutas relativas y agrega un instalador para Linux.
Para instalar el programa, simplemente hay que darle permiso de ejecución al archivo install.sh y correrlo en una terminal. Si no tienen el python y el plython-tk instalados, el script se encarga de ello, además agrega la posibilidad de correr el programa con el comando pydice.

El programa se instala en su home y después de instalado se puede borrar la carpeta que descargaron.

Pueden descargar la versión 1.4 de esta dirección:
http://www.mediafire.com/?5p1gzls19rj081o