Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- #Torrnament by freakRHO freakrho@gmail.com
- v = '1.0'
- import random
- from tkinter import *
- from tkinter import ttk
- import os
- #dir = os.path.dirname(__file__)
- console = False
- def ingresarComp():
- print('\nTorrnament v ' + v)
- print('\nIngrese la cantidad de competidores.')
- canComp = int(input())
- print('\nIngrese la cantidad de competidores por encuentro.')
- canCompEnc = int(input())
- print('\nIngrese los competidores (uno por linea)')
- nombres = []
- for r in range(canComp):
- nombres.append(input())
- return [canComp,canCompEnc,nombres]
- def ordenarComp(nombres,canEnc,canCompEnc):
- A = []
- l = 0
- for i in range(canEnc):
- A.append([])
- for j in range(canCompEnc):
- A[i].append(nombres[l])
- l = l + 1
- return A
- def main():
- [canComp,canCompEnc,nombres] = ingresarComp()
- key = 1
- while key == 1:
- if canComp%canCompEnc != 0:
- nombres.append('Fantasma')
- canComp = len(nombres)
- else:
- key = 0
- random.shuffle(nombres)
- canEnc = int(canComp/canCompEnc)
- print(nombres)
- A = ordenarComp(nombres,canEnc,canCompEnc)
- print(A)
- def enterData():
- mainframe = ttk.Frame(root, padding="3 3 3 3")
- mainframe.grid(column=0, row=0, sticky='nsew')
- mainframe.columnconfigure(0, weight=1)
- mainframe.rowconfigure(0, weight=1)
- #Entrada
- groups_entry = ttk.Entry(mainframe, textvariable=groups)
- groups_entry.grid(column=1, row=1, sticky='WE')
- global contestants_entry
- contestants_entry = Text(mainframe, width=40, height=10)
- contestants_entry.grid(column=0, row=3, columnspan=5)
- #Botones
- ttk.Button(mainframe, text="Siguiente", command=orderContestans).grid(column=1, row=4)
- #Texto
- ttk.Label(mainframe, text="Cantidad de personas por grupo:").grid(column=0,row=1, sticky='w')
- ttk.Label(mainframe, text="Concursantes (uno por linea):").grid(column=0,row=2, sticky='w')
- for child in mainframe.winfo_children(): child.grid_configure(padx=2, pady=2)
- groups_entry.focus()
- def orderContestans(*args):
- amPlayers = int(contestants_entry.index('end - 1 line').split('.')[0])
- amGroups = int(groups.get())
- Contestants = contestants_entry.get('1.0', 'end').split('\n')
- contestants = Contestants[0:len(Contestants) - 1]
- key = 1
- while key == 1:
- if amPlayers%amGroups != 0:
- contestants.append('Fantasma')
- amPlayers = len(contestants)
- else:
- key = 0
- random.shuffle(contestants)
- canEnc = int(amPlayers/amGroups)
- orderedPlayers = ordenarComp(contestants,canEnc,amGroups)
- mainframe = ttk.Frame(root, padding="3 3 3 3")
- mainframe.grid(column=0, row=0, sticky='nsew')
- mainframe.columnconfigure(0, weight=1)
- mainframe.rowconfigure(0, weight=1)
- secondframe = ttk.Frame(mainframe)
- secondframe.grid(column=0, row=0)
- for i in range(0,canEnc,1):
- frame = ttk.Frame(secondframe, borderwidth=2, relief='solid')
- frame.grid(column=i, row=0)
- frame.grid_configure(padx=10, pady=2)
- o = 0
- for j in orderedPlayers[i]:
- ttk.Label(frame, text=' ' + j + ' ').grid(column=o, row=0, sticky='w')
- o = o + 1
- #Botones
- ttk.Button(mainframe, text="Volver", command=enterData).grid(column=0, row=1, columnspan=canEnc)
- for child in mainframe.winfo_children(): child.grid_configure(padx=2, pady=2)
- if console == True:
- if __name__ == '__main__':
- main()
- else:
- root = Tk()
- root.title('Torrnament v ' + v)
- groups = StringVar()
- enterData()
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement