FlashBuilder 4中文入门教程:迈向Flex 4开发实战

4星 · 超过85%的资源 需积分: 0 12 下载量 9 浏览量 更新于2024-09-18 收藏 8.46MB PDF 举报
"《Flash Builder 4 中文快速入门》是一本由艾睿网(airia.cn)编辑团队针对初学者和有一定基础的FLEX开发者编写的教材,它旨在帮助读者掌握Adobe Flash Builder 4(FB4)的使用和FLEX 4 SDK的新特性。本书共分为六个章节,结构清晰,适合不同层次的学习者。 第一章介绍了Flex的基础知识,包括FLA文件的基本操作和Flash的交互设计原理,为初次接触FLEX开发的读者提供了扎实的入门基础。对于已有一定FLEX经验的读者,这部分内容可以作为回顾和巩固。 从第二章开始,内容逐步进阶,详细讲解了FB4的新特性和工具使用,如MXML、ActionScript 3.0语言的运用,以及项目管理与调试技巧,这些对于提升开发效率至关重要。第三至五章涵盖了实用的开发实例,通过实际操作演示如何利用新特性进行应用程序的构建,包括界面设计、数据绑定、事件处理等内容。 第六章专门探讨了FLEX与服务端通信的四种方式,这对于开发者在构建网络应用时必不可少,能够帮助读者理解如何实现前后端的数据交互。书中还提供了丰富的代码示例和案例分析,便于读者理解和实践。 参与本书编写的作者包括罗楷、郭峰、郑会宾、唐凡等业内专家,他们不仅分享了专业知识,还为读者提供了问题解答和互动交流的途径。此外,书中还强调了版权保护,指出未经AIRIA许可,不得擅自转载或用于商业用途,以尊重作者和平台的知识产权。 《Flash Builder 4 中文快速入门》是一本既适合新手学习,又适合有一定经验开发者深入理解FLEX和FB4的实用教程,对于想要进一步提升FLEX开发技能的读者来说,是一部不可多得的参考资料。"

class AbstractGreedyAndPrune(): def __init__(self, aoi: AoI, uavs_tours: dict, max_rounds: int, debug: bool = True): self.aoi = aoi self.max_rounds = max_rounds self.debug = debug self.graph = aoi.graph self.nnodes = self.aoi.n_targets self.uavs = list(uavs_tours.keys()) self.nuavs = len(self.uavs) self.uavs_tours = {i: uavs_tours[self.uavs[i]] for i in range(self.nuavs)} self.__check_depots() self.reachable_points = self.__reachable_points() def __pruning(self, mr_solution: MultiRoundSolution) -> MultiRoundSolution: return utility.pruning_multiroundsolution(mr_solution) def solution(self) -> MultiRoundSolution: mrs_builder = MultiRoundSolutionBuilder(self.aoi) for uav in self.uavs: mrs_builder.add_drone(uav) residual_ntours_to_assign = {i : self.max_rounds for i in range(self.nuavs)} tour_to_assign = self.max_rounds * self.nuavs visited_points = set() while not self.greedy_stop_condition(visited_points, tour_to_assign): itd_uav, ind_tour = self.local_optimal_choice(visited_points, residual_ntours_to_assign) residual_ntours_to_assign[itd_uav] -= 1 tour_to_assign -= 1 opt_tour = self.uavs_tours[itd_uav][ind_tour] visited_points |= set(opt_tour.targets_indexes) # update visited points mrs_builder.append_tour(self.uavs[itd_uav], opt_tour) return self.__pruning(mrs_builder.build()) class CumulativeGreedyCoverage(AbstractGreedyAndPrune): choice_dict = {} for ind_uav in range(self.nuavs): uav_residual_rounds = residual_ntours_to_assign[ind_uav] if uav_residual_rounds > 0: uav_tours = self.uavs_tours[ind_uav] for ind_tour in range(len(uav_tours)): tour = uav_tours[ind_tour] quality_tour = self.evaluate_tour(tour, uav_residual_rounds, visited_points) choice_dict[quality_tour] = (ind_uav, ind_tour) best_value = max(choice_dict, key=int) return choice_dict[best_value] def evaluate_tour(self, tour : Tour, round_count : int, visited_points : set): new_points = (set(tour.targets_indexes) - visited_points) return round_count * len(new_points) 如何改写上述程序,使其能返回所有已经探索过的目标点visited_points的数量,请用代码表示

2023-06-10 上传