great8: start

This commit is contained in:
fat0troll 2013-04-21 22:39:59 +04:00
parent c6ee030cad
commit 4c3eab4f05
2 changed files with 82 additions and 0 deletions

33
great8/roundrobin.py Executable file
View File

@ -0,0 +1,33 @@
#!/usr/bin/python2
# -*- coding: utf-8 -*-
def roundRobin(units, sets=None):
""" Generates a schedule of "fair" pairings from a list of units """
if len(units) % 2:
units.append(None)
count = len(units)
sets = sets or (count - 1)
half = count / 2
schedule = []
for turn in range(sets):
pairings = []
for i in range(half):
pairings.append((units[i], units[count-i-1]))
units.insert(1, units.pop())
schedule.append(pairings)
return schedule
# LOR sheduler
players = ["1", "2", "3", "4", "5", "6", "7", "8"]
tour_count = 0
# Generate LORCODE for pairings.
# Also generate "reversal" for autumm season.
for pairings in roundRobin(players):
tours = (len(players) - 1) * 2
tour_count = tour_count + 1
print "[b]Тур" + str(tour_count) + "[/b]"
print "[list]"
for pair in pairings:
print "[*]" + pair[0] + " играет против " + pair[1]
print "[/list]"

49
great8/scheduler Normal file
View File

@ -0,0 +1,49 @@
[b]Тур №1[/b]
[list]
[*]1 играет против 8
[*]2 играет против 7
[*]3 играет против 6
[*]4 играет против 5
[/list]
[b]Тур №2[/b]
[list]
[*]1 играет против 7
[*]8 играет против 6
[*]2 играет против 5
[*]3 играет против 4
[/list]
[b]Тур №3[/b]
[list]
[*]1 играет против 6
[*]7 играет против 5
[*]8 играет против 4
[*]2 играет против 3
[/list]
[b]Тур №4[/b]
[list]
[*]1 играет против 5
[*]6 играет против 4
[*]7 играет против 3
[*]8 играет против 2
[/list]
[b]Тур №5[/b]
[list]
[*]1 играет против 4
[*]5 играет против 3
[*]6 играет против 2
[*]7 играет против 8
[/list]
[b]Тур №6[/b]
[list]
[*]1 играет против 3
[*]4 играет против 2
[*]5 играет против 8
[*]6 играет против 7
[/list]
[b]Тур №7[/b]
[list]
[*]1 играет против 2
[*]3 играет против 8
[*]4 играет против 7
[*]5 играет против 6
[/list]