c# - 在基于文本的游戏中添加年龄错觉
问题描述
所以我正在用 C# 开发一个基于文本的游戏,我目前已经确定一个人将作为代码主体中的一个类 (Person.cs) 生成。这个人的年龄在生成器中随机选择(整数在 1 - 500 之间),这也将包括随机敌人(Enemy.cs : Person),可能还有一两个伙伴(Person.cs) .
我想要一种方式,当某些事情发生时,程序中的每个人都会改变年龄(人,宠物)。我不希望它基于 PC 时钟(想想可以向前或向后改变时间的魔术师)。
我为 TimeManager.cs 设置了一个类,其中只有一个 int ,我显然可以修改它,我只是没有办法将日期/年龄推送到所有其他类。如果有意义的话,我宁愿不要硬编码你可以拥有多少东西
我忽略了一些简单的事情吗?干杯
解决方案
首先,游戏看起来真的很有趣!
每个可以老化的元素都必须实现接口Ageable
或其他东西,迫使它们实现一种使它们改变年龄的方法。
一旦你有了这个,List<Agable>
在你的代码中保留一个地方,例如在World
与你的主类密切相关的类中,并且你的所有Magician
s 都可以直接或间接地访问它。
一旦您想更改所有 的年龄Ageable
,只需告诉您World
在列表上进行迭代并调用所有使您的生物变老或变年轻的方法。
推荐阅读
- r - 如何在不破坏 data.table 的自定义评估的情况下调整 `[.data.table` 中的 j?
- api - 如何在 benzinga api 中使用 highcharts 股票图表
- android - 锦标赛注册应用程序中的倒数计时器
- html - MVC5 HTML将列作为表头?
- c++ - 从指向一个对齐结构的指针转换为具有相同“前缀”成员的另一个是否合法?
- javascript - Svelte 编译器是否也能正确处理标准 JavaScript 和 HTML(不使用任何 Svelte 功能)?
- python - Azure 文本分析和 Python - 从函数中提取值
- pytorch - Pytorch 简单线性 Sigmoid 网络不学习
- php - 如何检查更新 PDO 是否成功运行?
- list - 如何按另一个列表对列表进行排序