Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Määrittää luokan Map
- class Map(object):
- # Määrittää sanakirjan scenes
- scenes = {
- "central_corridor": CentralCorridor(),
- "laser_weapon_armory": LaserWeaponArmory(),
- "the_bridge": TheBridge(),
- "escape_pod": EscapePod(),
- "death": Death(),
- "finished": Finished(),
- }
- # määrittää initin, joka ottaa self ja start_scene argumentit.
- def __init__(self, start_scene):
- # määrittää muuttujan self.start_scene arvoksi start_scene argumentin.
- self.start_scene = start_scene
- # määrittää funktion next_scene joka ottaa argumentit self ja scene_name.
- def next_scene(self, scene_name):
- # määrittää muuttujan val arvoksi Map.scenes dictionaryn,
- # jolle on kutsuttu funktio get parametrillä scene_name.
- val = Map.scenes.get(scene_name)
- # määrittää funktion arvoksi muuttujan val.
- return val
- # määrittää funktion opening_scene, joka ottaa argumentin self.
- def opening_scene(self):
- # määrittää funktion arvoksi muuttujan self, jolle on kutsuttu next_scene funktio parametrilä self.start_scene
- return self.next_scene(self.start_scene)
- # määrittää luokan Engine.
- class Engine(object):
- # määrittää initin, joka ottaa self ja scene_map argumentit.
- def __init__(self, scene_map):
- # määrittää self.scene_map muuttujan arvoksi scene_map argumentin.
- self.scene_map = scene_map
- # määrittää funktion play, joka ottaa argumentin self.
- def play(self):
- # määrittää muuttujan curren_scene arvoksi self.scene_map muuttujan, jolle on kutsuttu funktio opening_scene.
- current_scene = self.scene_map.opening_scene()
- # määrittää muuttujan last_scene arvoks self.scene_map muuttujan, jolle on kutsuttu funktio next_scene parametrillä 'finished'.
- last_scene = self.scene_map.next_scene('finished')
- # määrittää loopin, joka pyörii niin kauan kun curren_scene ja last_scene muuttujilla on eri arvot.
- while current_scene != last_scene:
- # määrittää muuttujan next_scene_name arvoksi muuttujan current_scene jolle on kutsuttu enter funktio.
- next_scene_name = current_scene.enter()
- # määrittää muuttujan current_scene arvoksi self.scene_map muuttujan jolle on kutsuttu funktio next_scene parametrillä next_scene_name.
- current_scene = self.scene_map.next_scene(next_scene_name)
- # kutsuu muuttujalle current_scene funktion enter.
- current_scene.enter()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement