习题四十三
2016-03-15 00:00
204 查看
摘要: 引擎分析
本例中将Map类实例作为参数引入Engine类中。
将opening_scene方法和next_scene方法分开个人认为是使代码更美观易懂。
class Engine(object): def __init__(self, scene_map): self.scene_map=scene_map def play(self): #create an instance of the opening scene current_scene=self.scene_map.opening_scene() while True: print "\n---------" #run the method and return the name of the next scene next_scene_name=current_scene.enter() #create an instance of the next scene current_scene=self.scene_map.next_scene(next_scene_name) class Map(object): scenes={ 'central_corridor':CentralCorridor(), 'laser_weapon_armory':LaserWeaponArmory(), 'the_bridge':TheBridge(), 'escape_pod':EscapePod(), 'death':Death() } def __init__(self, start_scene): self.start_scene=start_scene def next_scene(self, scene_name): return Map.scenes.get(scene_name) def opening_scene(self): return self.next.scene(self.start_scene) a_map=Map('central_corridor') a_game=Engine(a_map) a_game.play()
本例中将Map类实例作为参数引入Engine类中。
将opening_scene方法和next_scene方法分开个人认为是使代码更美观易懂。
相关文章推荐
- 数据结构与算法学习(二)
- 尝试eclipse che
- Wamp数据库初始化操作:重置root密码+创建用户并授权
- new 和 newInstance区别
- composer linux全局安装
- java 实现vsd转换为其它格式
- css调式技巧:a.class与a .class的区别, 空格的魅力
- JS:各种不同事件触发条件。onClick,onBlur等
- node.js + express + mongodb 新手写的简单的高校实验室人员及任务管理系统
- 系统运维安全设置
- JAVA自动生成正则表达式工具类
- JAVA中正则表达式总结
- springmvc 文件下载实现
- Cookie深度解析
- 解决servlet获取页面提交参数中文乱码
- 怎么实现ZBrush与数位板雕刻模型的结合运用
- 设计模式 —— 单例模式, Singleton Patttern
- eclipse字体大小设置
- ant安装
- 离线安装testNg