首页 > 解决方案 > 在基于文本的游戏中添加年龄错觉

问题描述

所以我正在用 C# 开发一个基于文本的游戏,我目前已经确定一个人将作为代码主体中的一个类 (Person.cs) 生成。这个人的年龄在生成器中随机选择(整数在 1 - 500 之间),这也将包括随机敌人(Enemy.cs : Person),可能还有一两个伙伴(Person.cs) .

我想要一种方式,当某些事情发生时,程序中的每个人都会改变年龄(人,宠物)。我不希望它基于 PC 时钟(想想可以向前或向后改变时间的魔术师)。

我为 TimeManager.cs 设置了一个类,其中只有一个 int ,我显然可以修改它,我只是没有办法将日期/年龄推送到所有其他类。如果有意义的话,我宁愿不要硬编码你可以拥有多少东西

我忽略了一些简单的事情吗?干杯

标签: c#

解决方案


首先,游戏看起来真的很有趣!

每个可以老化的元素都必须实现接口Ageable或其他东西,迫使它们实现一种使它们改变年龄的方法。

一旦你有了这个,List<Agable>在你的代码中保留一个地方,例如在World与你的主类密切相关的类中,并且你的所有Magicians 都可以直接或间接地访问它。

一旦您想更改所有 的年龄Ageable,只需告诉您World在列表上进行迭代并调用所有使您的生物变老或变年轻的方法。


推荐阅读