c# - 在基于文本的游戏中添加年龄错觉

标签 c#

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

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

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

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

最佳答案

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

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

一旦你有了这个,保留一个List<Agable>代码中的某处,例如 World与您的主要类(class)密切相关的类(class),您的所有 Magician 都可以直接或间接访问s。

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

关于c# - 在基于文本的游戏中添加年龄错觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727925/

相关文章:

C# 字符串操作

c# - 在特定时间调用方法

c# - 使用 SonarCloud 分析拉取请求

c# - 如何以编程方式重新启动 Azure Web App

c# - C# 中多个 block 的 RSA 加密/解密

c# - Select N+1的NHibernate QueryOver解决方案

c# - 具有单个 web.config 的 WCF HTTPS 和 HTTP 绑定(bind)

c# - Asp.Net Core 2 中是否有相当于 "HttpContext.Response.Write"的值?

c# - JsonResult 返回空 Json

c# - MessageBoxButtons 中 "No"和 "Cancel"的区别