Exemple #1
0
class Match(object):
    def __init__(self, show_events=False):
        self.show_events = show_events

        self.event = Event()

        self.home = Team('Calgary Flames', 'CGY')
        self.road = Team('Edmonton Oilers', 'EDM')

        self.period = Period()
        self.start_period()

    def start_period(self):
        self.period.next_period()
        self.clock = Clock(self.period)
        self.zone = Zone()
        self.possession = Possession()

        self.play = Play(self.home, self.road, self.zone, self.possession)

        self.event.add(self.period, self.clock, self.play(), self.zone)
        self.event.add(self.period, self.clock, self.play(), self.zone)

        while self.clock.running:
            self.next_event()

    def end_period(self):
        self.clock.end()
        self.event.add(self.period, self.clock, self.play.end(), self.zone)
        if self.period < 3:
            self.start_period()
        else:
            self.end_game()

    def next_event(self):
        self.clock.tick()

        self.home.lineup.lines.add_toi(self.clock.since_last_tick)
        self.road.lineup.lines.add_toi(self.clock.since_last_tick)

        if not self.clock.running:
            self.end_period()
        else:
            self.home.lineup.lines.line_change()
            self.road.lineup.lines.line_change()

            self.event.add(self.period,
                           self.clock,
                           self.play(),
                           self.zone)

    def end_game(self):
        if self.show_events:
            self.event.show()
Exemple #2
0
    def start_period(self):
        self.period.next_period()
        self.clock = Clock(self.period)
        self.zone = Zone()
        self.possession = Possession()

        self.play = Play(self.home, self.road, self.zone, self.possession)

        self.event.add(self.period, self.clock, self.play(), self.zone)
        self.event.add(self.period, self.clock, self.play(), self.zone)

        while self.clock.running:
            self.next_event()
Exemple #3
0
class Match(object):
    def __init__(self, show_events=False):
        self.show_events = show_events

        self.event = Event()

        self.home = Team('Calgary Flames', 'CGY')
        self.road = Team('Edmonton Oilers', 'EDM')

        self.period = Period()
        self.start_period()

    def start_period(self):
        self.period.next_period()
        self.clock = Clock(self.period)
        self.zone = Zone()
        self.possession = Possession()

        self.play = Play(self.home, self.road, self.zone, self.possession)

        self.event.add(self.period, self.clock, self.play(), self.zone)
        self.event.add(self.period, self.clock, self.play(), self.zone)

        while self.clock.running:
            self.next_event()

    def end_period(self):
        self.clock.end()
        self.event.add(self.period, self.clock, self.play.end(), self.zone)
        if self.period < 3:
            self.start_period()
        else:
            self.end_game()

    def next_event(self):
        self.clock.tick()

        self.home.lineup.lines.add_toi(self.clock.since_last_tick)
        self.road.lineup.lines.add_toi(self.clock.since_last_tick)

        if not self.clock.running:
            self.end_period()
        else:
            self.home.lineup.lines.line_change()
            self.road.lineup.lines.line_change()

            self.event.add(self.period, self.clock, self.play(), self.zone)

    def end_game(self):
        if self.show_events:
            self.event.show()
Exemple #4
0
def test_tick():
    period = Period()
    clock = Clock(period)
    clock.tick()
    assert_true(clock.clock > 0)
    period = Period()
    clock = Clock(period)
    clock.tick(30)
    assert_equal(30, clock.clock)
Exemple #5
0
    def start_period(self):
        self.period.next_period()
        self.clock = Clock(self.period)
        self.zone = Zone()
        self.possession = Possession()

        self.play = Play(self.home, self.road, self.zone, self.possession)

        self.event.add(self.period, self.clock, self.play(), self.zone)
        self.event.add(self.period, self.clock, self.play(), self.zone)

        while self.clock.running:
            self.next_event()
Exemple #6
0
def test_tick():
    period = Period()
    clock = Clock(period)
    clock.tick()
    assert_true(clock.clock > 0)
    period = Period()
    clock = Clock(period)
    clock.tick(30)
    assert_equal(30, clock.clock)
Exemple #7
0
def test_add():
    event = Event()
    period = Period()
    clock = Clock(period)
    possession = Possession()
    zone = Zone()
    play = Start(None, None, zone, possession)
    event.add(period, clock, play, zone)
    assert_equal(1, event.event)
    assert_true(len(event.events) == 1)
    assert_equal(period.period, event.events[0]['period'])
    assert_equal('00:00', event.events[0]['elapsed'])
    assert_equal('20:00', event.events[0]['remaining'])
    assert_equal(play.name, event.events[0]['play'])
    assert_equal(zone.name, event.events[0]['zone'])
Exemple #8
0
def test_elapsed():
    period = Period()
    clock = Clock(period)
    assert_equal('00:00', clock.elapsed)
    clock.tick(30)
    assert_equal('00:30', clock.elapsed)
Exemple #9
0
def test_end():
    period = Period()
    clock = Clock(period)
    clock.end()
    assert_true(clock.clock == clock.total_time)
Exemple #10
0
def test_remaining():
    period = Period()
    clock = Clock(period)
    assert_equal('20:00', clock.remaining)
    clock.tick(30)
    assert_equal('19:30', clock.remaining)
Exemple #11
0
def test_elapsed():
    period = Period()
    clock = Clock(period)
    assert_equal('00:00', clock.elapsed)
    clock.tick(30)
    assert_equal('00:30', clock.elapsed)
Exemple #12
0
def test_running():
    period = Period()
    clock = Clock(period)
    assert_true(clock.running)
Exemple #13
0
def test_end():
    period = Period()
    clock = Clock(period)
    clock.end()
    assert_true(clock.clock == clock.total_time)
Exemple #14
0
def test_init():
    period = Period()
    clock = Clock(period)
    assert_equal(0, clock.clock)
    assert_equal(0, clock.last_tick)
    assert_equal(1200, clock.total_time)
Exemple #15
0
def test_remaining():
    period = Period()
    clock = Clock(period)
    assert_equal('20:00', clock.remaining)
    clock.tick(30)
    assert_equal('19:30', clock.remaining)
Exemple #16
0
def test_since_last_tick():
    period = Period()
    clock = Clock(period)
    clock.tick(30)
    assert_equal(30, clock.since_last_tick)
Exemple #17
0
def test_since_last_tick():
    period = Period()
    clock = Clock(period)
    clock.tick(30)
    assert_equal(30, clock.since_last_tick)