Mostrando entradas con la etiqueta random. Mostrar todas las entradas
Mostrando entradas con la etiqueta random. Mostrar todas las entradas

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.

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, 28 de octubre de 2011

PyDice

PyDice es un programa simple que hice para tirar dados, la idea es tener un respaldo en caso de no tener dados a mano.
En esta primera versión funciona ingresando texto con cierta sintaxis. Soporta por completo los sistemas: World of Darkness, Mutants & Masterminds, Star Wars D6 y Séptimo Mar.

La sintaxis es la siguiente: <tirada>:<opciones>

Tiradas:

Tiradas convencionales (d)
Esta tirada simplemente tira dados, muestra los resultados y la suma.
 ·Para tirar X dados de Y caras: XdY (Ej: 5d6)
Opciones posibles: e,r

Tiradas con keep (k)
Esta tirada tira dados y se queda con los mayores.
 ·Para tirar X dados de 10 caras y sumar los Z mayores (Séptimo Mar): XkZ (Ej: 5k3)
 ·Para tirar X dados de Y caras y sumar los Z mayores: XkZdY (Ej: 6k3d8)
Cualquier opción que se le agregue será ignorada

Tiradas estilo Starwars (D)
Esta tirada es una tirada simple con un dado Wild, si el Wild es 6 se tira denuevo y se suma al total
(reiterativo), si es 1 se tira denuevo, si es 1 otra vez se considera un botch, sino se lleva el dado menor
 ·Para tirar X dados de Y caras con un dado Wild: XDY (Ej: 5D6)
Cualquier opción que se le agregue será ignorada

Opciones:
 ·e - Los dados explotan
 ·r - Los unos se van y se llevan a los menores (WoD)

Ejemplos:
 ·Starwars: XD6
 ·World of Darkness: Xd10:re
 ·Séptimo mar: XkZ
 ·Mutants & Masterminds: 1d20
Referencias: X=<Cantidad de dados>, Y=<Cantidad de caras>, Z=<Cantidad de dados a guardar>


Si les interesa este programa, esta es la descarga:
http://www.mediafire.com/?mjb1qw7iec77j2i

El código fuente está disponible aquí:
http://pastebin.com/Ar04Y0wL

Está preparado para correrse en Linux, para correr en Windows hay que hacerlo manualmente.

Si se quiere correr el programa en consola, hay que editar el archivo dados.py y cambiar la línea:
console = False
por:
console = True