Round-robin tournament schedule: Difference between revisions

Content added Content deleted
(→‎{{header|Wren}}: Simplified.)
(→‎{{header|Wren}}: More pruning.)
Line 194: Line 194:
var roundRobin = Fn.new { |n|
var roundRobin = Fn.new { |n|
var lst = (2..n).toList
var lst = (2..n).toList
var rounds = n - 1
if (n % 2 == 1) {
if (n % 2 == 1) {
lst = lst + [0] // 0 denotes a bye
lst = lst + [0] // 0 denotes a bye
rounds = n
n = n + 1
n = n + 1
}
}
var n2 = rounds / 2
var n2 = n / 2
for (round in 1..rounds) {
for (r in 1...n) {
Fmt.write("Round $2d", round)
Fmt.write("Round $2d", r)
var lst2 = [1] + lst
var lst2 = [1] + lst
for (i in 0...n2) Fmt.write(" ($2d vs $-2d)", lst2[i], lst2[n - 1 - i])
for (i in 0...n2) Fmt.write(" ($2d vs $-2d)", lst2[i], lst2[n - 1 - i])