def setup(self): self._first = [Match(self._num), Match(self._num)] self._second = [Match(self._num), Match(self._num)] self._final = Match(self._num) self._matches = self._first + self._second + [self._final] self._first[0].add_winner_link(self._second[0], 0) self._first[0].add_loser_link(self._second[1], 0) self._first[0].add_parent(self) self._first[1].add_winner_link(self._second[0], 1) self._first[1].add_loser_link(self._second[1], 1) self._first[1].add_parent(self) self._second[0].add_loser_link(self._final, 0) self._second[0].add_parent(self) self._second[1].add_winner_link(self._final, 1) self._second[1].add_parent(self) self._final.add_parent(self)
def setup(self): nmatches = len(self._schema_out) * (len(self._schema_out) - 1) // 2 self._matches = [] for r in range(0, nmatches): m = Match(self._num) self._matches.append(m) m.add_parent(self)
def set_players(self, players): self._pla = players[:len(players) // 2] self._plb = players[len(players) // 2:] self._nplayers = len(self._pla) self._numw = self._nplayers // 2 + 1 self._nums = (self._nplayers - 1) // 2 self._matches = [] for i in range(0, self._nplayers): m = Match(self._num) m.set_players([self._pla[i], self._plb[i]]) self._matches.append(m)
def compute_match(self, pla, plb, base): obj = Match(self._num) obj.set_players([pla[0], plb[0]]) obj.compute() inst = obj.random_instance_detail(new=True) if inst[1] > inst[2]: plb = plb[1:] else: pla = pla[1:] if len(plb) != 0 and len(pla) != 0: self.compute_match(pla, plb, base) elif len(plb) == 0: self._tally[0][1] += base self._tally[1][0] += base else: self._tally[1][1] += base self._tally[0][0] += base
def setup(self): self._matches = dict() self._bracket = [] prev_round = None this_round = [] for r in range(0, len(self._num)): for i in range(0, 2**(len(self._num) - 1 - r)): m = Match(self._num[r]) this_round.append(m) m.add_parent(self) if prev_round != None: prev_round[2 * i].add_winner_link(m, 0) prev_round[2 * i + 1].add_winner_link(m, 1) self._matches['Round ' + str(r + 1)] = this_round self._bracket.append(this_round) prev_round = this_round this_round = []