Wpis z mikrobloga

#naukaprogramowania #python

class Engine(object):

def __init__(self, scene_map):
self.scene_map = scene_map

def play(self):
current_scene = self.scene_map.opening_scene()

class Map(object):

scenes = {
'central_corridor': CentralCorridor(),
}

def __init__(self, start_scene):
self.start_scene = start_scene

def next_scene(self, scene_name):
val = Map.scenes.get(scene_name)
return val

def opening_scene(self):
return self.next_scene(self.start_scene)

a_map = Map('central_corridor')
a_game = Engine(a_map)

amap jest tworzona instancja klasy Map z argumentem 'centralcorridor' gdzie jest ładowany jako startscene.

ta start
scene jest teraz tworzona jako instancja klasy Engine gdzie scenemap jest brane z argumentu podanego przy tworzeniu instancji i zapisywany w zmiennej self.scenemap tak?

ciężko jakoś ogarnąć drzewo zależności...
  • 4
@ponuryrolnik: Map ma dict ze scenami. Tworzysz instancje Map pod nazwa a_map z argumentem central_corridor i przypisujesz ta nazwe do start_scene . Tu sie konczy inicjalizacja a_map. Tworzymy instancje Engine a_game z argumentem a_map ktory jest przypisany do scene_map. Tu sie konczy inicjalizacja a_game.
Teraz jak patrzymy co z tego wyszlo:
Obiekt a_game typu Engine deleguje operowanie scenami do swojej zaleznosci a_map. Obiekt a_game nie musi znac