发布器Publisher编程实例:小乌龟速度控制
时间: 2024-09-24 22:03:52 浏览: 12
在发布者-订阅者模式(Publisher-Subscriber Pattern)中,通常用于事件驱动的应用场景中,比如游戏开发中的小乌龟动画,我们可以创建一个`Publisher`角色来控制小乌龟的速度。下面是一个简单的Python示例:
```python
class TurtleSpeedController:
def __init__(self):
self.speeds = []
def set_speed(self, speed):
self.speeds.append(speed)
print(f"当前速度设置为:{speed}")
def get_current_speed(self):
return self.speeds[-1] if self.speeds else None
class Turtle:
def __init__(self, publisher):
self.publisher = publisher
self.current_speed = 0
def move(self, distance):
new_speed = self.publisher.get_current_speed()
if new_speed is not None:
print(f"小乌龟以{new_speed}的速度移动 {distance} 单位")
else:
print("小乌龟以默认速度移动")
# 实例化发布器和小乌龟
turtle_controller = TurtleSpeedController()
turtle = Turtle(turtle_controller)
# 控制器发布速度更改
turtle_controller.set_speed(5) # 小乌龟加快到5单位每秒
turtle_controller.set_speed(3) # 小乌龟减速到3单位每秒
# 小乌龟按照控制器的速度移动
turtle.move(10) # 输出结果会基于最近的速度设置