如何在ruby游戏中分割逻辑
在第36章“艰苦学习Ruby”之后,我正在编写自己的游戏。玩家进入厨房。他吃早餐、午餐还是晚餐取决于时间 我编写了一个函数如何在ruby游戏中分割逻辑,ruby,Ruby,在第36章“艰苦学习Ruby”之后,我正在编写自己的游戏。玩家进入厨房。他吃早餐、午餐还是晚餐取决于时间 我编写了一个函数clock,它给出: time_of_day = t.strftime "%H:%M" 然后检查是否是星期天。我编写了一个带有一系列选项的厨房函数: food_choice = ["breakfast", "lunch", "dinner"] 将决定角色吃哪顿饭的逻辑放在哪里最合适?我在厨房的功能中猜,所以时钟保持干净。但是我可以在clock函数中输入返回的内容 meal
clock
,它给出:
time_of_day = t.strftime "%H:%M"
然后检查是否是星期天。我编写了一个带有一系列选项的厨房函数:
food_choice = ["breakfast", "lunch", "dinner"]
将决定角色吃哪顿饭的逻辑放在哪里最合适?我在厨房的功能中猜,所以时钟保持干净。但是我可以在clock
函数中输入返回的内容
meal_choice = ['a', 'b', 'c']
可以这样说。您可以与您的类/函数交谈,看看它们是否有一个单一的职责(OOP的内容之一)。这意味着实体(类或函数)有一个目的,它所做的一切都严格地受这个目的的约束。例如
嘿,时间先生,今天几点了?
Sonds还好吧?现在你可以问这个问题:
嘿,厨房先生-现在的饭菜是什么?
p.S.如果你的问题听起来像Man先生,你的自行车轮胎是什么?
不要害怕创建新的实体:bicycle先生,你的轮胎是什么?
听起来更好 我同意膳食选择
并不真正属于时钟
,但我可以看到时钟
返回小时
,厨房
从小时
确定膳食选择
。这给了你很大的灵活性。。。将来,如果你决定提供“早午餐”,只有厨房
必须改变。谢谢史蒂夫,这很有意义。谢谢zmii,提问隐喻对我很有用。。干杯。这些想法来自Sendi Metz——你可以看她的会议演讲——它们太棒了!