shummiev15-7-4.py 文件源码

python
阅读 40 收藏 0 点赞 0 评论 0

项目:Halite 作者: shummie 项目源码 文件源码
def update_time_to_recover_map(self):
        max_distance = 30
        self.recover_map = numpy.zeros((max_distance + 1, self.width, self.height))
        self.recover_map_smooth = numpy.zeros((max_distance + 1, self.width, self.height))

        self.recover_map[0] = numpy.divide(self.strength_map, numpy.maximum(self.production_map, 0.001))
        self.recover_map[0] = numpy.multiply(self.recover_map[0], 1 - (self.is_owner_map[self.game_map.my_id] + self.is_enemy_map))
        self.recover_map[0] += (self.is_owner_map[self.game_map.my_id] + self.is_enemy_map) * 999

        distance = 1
        while distance <= max_distance:
            dir_map = numpy.zeros((4, self.width, self.height))
            dir_map[0] = roll_xy(self.recover_map[distance - 1], 0, 1)
            dir_map[1] = roll_xy(self.recover_map[distance - 1], 0, -1)
            dir_map[2] = roll_xy(self.recover_map[distance - 1], 1, 0)
            dir_map[3] = roll_xy(self.recover_map[distance - 1], -1, 0)

            self.recover_map[distance] = numpy.add(self.recover_map[distance - 1], numpy.amin(dir_map, 0))
            distance += 1

        for d in range(2, max_distance):
            self.recover_map[d] = self.recover_map[d] / d
            self.recover_map_smooth[d] = spread_n(self.recover_map[d], 4)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号