Пример #1
0
 def __load_map(self, level):
     if os.access('MAP%i.gz' % (level), os.F_OK):
         FILE = gzip.open('MAP%i.gz' % (level), 'r')
         self.map, self.__actors, self.__items, pos = pickle.load(FILE)
         
         self.__set_game_instance()
         FILE.close()
         self.player.set_pos(pos)
         r = self.camera.adjust(self.player.pos())
         while r:
             r = self.camera.adjust(self.player.pos())
         self.__actors.append(self.player)
         for act in self.__actors:
             self.__world_objects[act] = True
             act.sc = sc(self.map.map_array)
         self.player.sc.do_fov(self.player.x, self.player.y, self.player.cur_mind / 20 + 5)
             
         for item in self.__items:
             self.__world_objects[item] = True
             
         self.__world_objects[self.map] = True
         self.__clear_surfaces()
         
         self._world_draw()
         return True
     return False
     self.__quit_loop = True
     self.quit_mes = SAVE
Пример #2
0
    def change_map(self, down=True):
        
        if self.map == None:
            level = 1 
        elif down:
            level = self.map.level + 1
            self.__save_map()
        else:
            level = self.map.level - 1
            self.__save_map()

        if self.__load_map(level):
            return
        if level == 0:
            self.game_over()    
        
        self.__actors = []
        self.__actors.append(self.player)
        self.__items = []
        self.map = self.dungeon.get_map(level)
        
        for act in self.__actors:
            act.sc = sc(self.map.map_array)
            
        if down:
            pos = self.get_sc_up_pos()
        else:
            pos = self.get_sc_down_pos()
        self.player.set_pos(pos)
            
        r = self.camera.adjust(self.player.pos())
        while r:
            r = self.camera.adjust(self.player.pos())
Пример #3
0
    def change_map(self, down=True):

        if self.map == None:
            level = 1
        elif down:
            level = self.map.level + 1
            self.__save_map()
        else:
            level = self.map.level - 1
            self.__save_map()

        if self.__load_map(level):
            return
        if level == 0:
            self.game_over()

        self.__actors = []
        self.__actors.append(self.player)
        self.__items = []
        self.map = self.dungeon.get_map(level)

        for act in self.__actors:
            act.sc = sc(self.map.map_array)

        if down:
            pos = self.get_sc_up_pos()
        else:
            pos = self.get_sc_down_pos()
        self.player.set_pos(pos)

        r = self.camera.adjust(self.player.pos())
        while r:
            r = self.camera.adjust(self.player.pos())
Пример #4
0
    def __load_map(self, level):
        if os.access('MAP%i.gz' % (level), os.F_OK):
            FILE = gzip.open('MAP%i.gz' % (level), 'r')
            self.map, self.__actors, self.__items, pos = pickle.load(FILE)

            self.__set_game_instance()
            FILE.close()
            self.player.set_pos(pos)
            r = self.camera.adjust(self.player.pos())
            while r:
                r = self.camera.adjust(self.player.pos())
            self.__actors.append(self.player)
            for act in self.__actors:
                self.__world_objects[act] = True
                act.sc = sc(self.map.map_array)
            self.player.sc.do_fov(self.player.x, self.player.y,
                                  self.player.cur_mind / 20 + 5)

            for item in self.__items:
                self.__world_objects[item] = True

            self.__world_objects[self.map] = True
            self.__clear_surfaces()

            self._world_draw()
            return True
        return False
        self.__quit_loop = True
        self.quit_mes = SAVE
Пример #5
0
 def summon_monster(self, caster, name, file, pos):
     mon = dungeon.Populator.create_creature(name, file)
     mon.ai = henchmanAI.HenchmanAI(mon)
     mon.ai.friends.add(caster.id)
     caster.ai.friends.add(mon.id)
     mon.set_pos(pos)
     mon.sc = sc(self.map.map_array)
     self.add_actor(mon, True)
Пример #6
0
 def summon_monster(self, caster, name, file, pos):
     mon = dungeon.Populator.create_creature(name, file)
     mon.ai = henchmanAI.HenchmanAI(mon)
     mon.ai.friends.add(caster.id)
     caster.ai.friends.add(mon.id)
     mon.set_pos(pos)
     mon.sc = sc(self.map.map_array)
     self.add_actor(mon, True)
Пример #7
0
 def create_humanoid(self):
     #man = races[1][3](True, 1)
     man = races[2][3](True, 1)
     #man.classkit = classkits[2][1](man)
     man.classkit = classkits[0][1](man)
     from ai import simpleai
     man.ai = henchmanAI.HenchmanAI(man)
     man.name = 'Nigg Yshur'
     pos = self.get_free_adj(self.player.pos())
     man.set_pos(pos)
     man.ai.friends.add(self.player.id)
     self.player.ai.friends.add(man.id)
     man.sc = sc(self.map.map_array)
Пример #8
0
 def create_humanoid(self):
     #man = races[1][3](True, 1)
     man = races[2][3](True, 1)
     #man.classkit = classkits[2][1](man)
     man.classkit = classkits[0][1](man)
     from ai import simpleai
     man.ai = henchmanAI.HenchmanAI(man)
     man.name = 'Nigg Yshur'
     pos = self.get_free_adj(self.player.pos())
     man.set_pos(pos)
     man.ai.friends.add(self.player.id)
     self.player.ai.friends.add(man.id)
     man.sc = sc(self.map.map_array)
Пример #9
0
 def add_actor(self, actor, add=True):
     if add: self.__actors.append(actor)
     if self.map != None:
         actor.sc = sc(self.map.map_array)
     self.__world_objects[actor] = True
Пример #10
0
 def add_actor(self, actor, add=True):
     if add: self.__actors.append(actor)
     if self.map != None:
         actor.sc = sc(self.map.map_array)
     self.__world_objects[actor] = True