forked from netsuso/foos-tournament
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmatch.rb
97 lines (83 loc) · 1.81 KB
/
match.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
class Match
attr_accessor :id
attr_reader :division_id
attr_reader :round
attr_reader :players
attr_reader :scores
attr_reader :victories
attr_reader :status
attr_reader :time
attr_reader :duration
def initialize(id, players, division_id, round)
@id = id
@players = players
@division_id = division_id
@round = round
@played = false
@time = nil
@duration = nil
@scores = []
@victories = []
end
def played?()
return @status == 2
end
def cancelled?()
return @status == 1
end
def set_status(status)
@status = status
end
def set_played_stats(time, duration)
@time = time
@duration = duration
end
def set_scores(scores)
@scores = scores
calculate_victories()
end
def calculate_victories()
@victories = [0, 0, 0, 0]
if @scores[0][0] > @scores[0][1]
@victories[0] += 1
@victories[1] += 1
else
@victories[2] += 1
@victories[3] += 1
end
if @scores[1][0] > @scores[1][1]
@victories[0] += 1
@victories[2] += 1
else
@victories[1] += 1
@victories[3] += 1
end
if @scores[2][0] > @scores[2][1]
@victories[0] += 1
@victories[3] += 1
else
@victories[2] += 1
@victories[1] += 1
end
end
# FIXME: The human version should be generated in FE, not here
def get_time()
return @time.strftime("%Y/%m/%d %H:%M")
end
# FIXME: The human version should be generated in FE, not here
def get_duration()
if @duration
duration_human = "%02d:%02d" % [@duration / 60, @duration % 60]
else
duration_human = "-"
end
return duration_human
end
def get_submatches()
return [
[[@players[0], @players[1]], @scores[0][0], [@players[2], @players[3]], @scores[0][1]],
[[@players[0], @players[2]], @scores[1][0], [@players[1], @players[3]], @scores[1][1]],
[[@players[0], @players[3]], @scores[2][0], [@players[1], @players[2]], @scores[2][1]]
]
end
end