当前位置: 首页>>代码示例>>Python>>正文


Python Room.intersect方法代码示例

本文整理汇总了Python中room.Room.intersect方法的典型用法代码示例。如果您正苦于以下问题:Python Room.intersect方法的具体用法?Python Room.intersect怎么用?Python Room.intersect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在room.Room的用法示例。


在下文中一共展示了Room.intersect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: gen_connected_rooms

# 需要导入模块: from room import Room [as 别名]
# 或者: from room.Room import intersect [as 别名]
    def gen_connected_rooms(self):
        """
        Generate a series of rooms, connected with vertical and horizontal
        tunnels.  Each room is connected to the previous one with one tunnel.
        """
        for i in xrange(cfg.MAX_ROOMS):
            w = SS.map_rand.randrange(cfg.MIN_ROOM_SIZE, cfg.MAX_ROOM_SIZE)
            h = SS.map_rand.randrange(cfg.MIN_ROOM_SIZE, cfg.MAX_ROOM_SIZE)
            x = SS.map_rand.randrange(0, self.w - w - 1)
            y = SS.map_rand.randrange(0, self.h - h - 1)

            new_room = Room(x, y, w, h)

            # See if any of the other rooms intersect with this one
            failed = False
            for room in self.rooms:
                if new_room.intersect(room):
                    failed = True
                    break

            if not failed:
                # First room
                if len(self.rooms) == 0:
                    (new_x, new_y) = new_room.center()
                    self.upstairs = (new_x, new_y)

                self.create_rectangular_room(new_room)
                self.place_objects(new_room)
                self.rooms.append(new_room)

        # Connect the rooms
        for j in xrange(1, len(self.rooms)):
            (new_x, new_y) = self.rooms[j].center()
            (prev_x, prev_y) = self.rooms[j - 1].center()
            if SS.map_rand.randrange(0, 2):
                self.create_h_tunnel(prev_x, new_x, prev_y)
                self.create_v_tunnel(prev_y, new_y, new_x)
            else:
                self.create_v_tunnel(prev_y, new_y, prev_x)
                self.create_h_tunnel(prev_x, new_x, new_y)
开发者ID:aruse,项目名称:Bludgeon,代码行数:42,代码来源:map.py


注:本文中的room.Room.intersect方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。