C# 依赖驱动的C语言随机生成器#

C# 依赖驱动的C语言随机生成器#,c#,C#,我不熟悉编码。几年前我有一些其他语言的经验,但我基本上是从C#开始的。我正在尝试制作一系列逻辑驱动的随机生成器,这将有助于我的写作。它被逻辑驱动的部分是踢在裤子上。我已经有了一个HTML/Javascript版本,但我想用C#来做,我被卡住了 本质上,生成器将随机生成我正在制作的任何东西的第一个特征。例如,可能我正在运行我的随机生物生成器,而“生物类型”是“鸟类”(类鸟)。根据这一结果,其他特征和特征将随机生成。例如,它不会说鸟类的皮肤类型是“膜”。如果这种生物有尖牙,它就不会以“素食者”的饮食

我不熟悉编码。几年前我有一些其他语言的经验,但我基本上是从C#开始的。我正在尝试制作一系列逻辑驱动的随机生成器,这将有助于我的写作。它被逻辑驱动的部分是踢在裤子上。我已经有了一个HTML/Javascript版本,但我想用C#来做,我被卡住了

本质上,生成器将随机生成我正在制作的任何东西的第一个特征。例如,可能我正在运行我的随机生物生成器,而“生物类型”是“鸟类”(类鸟)。根据这一结果,其他特征和特征将随机生成。例如,它不会说鸟类的皮肤类型是“膜”。如果这种生物有尖牙,它就不会以“素食者”的饮食出现

我能够制作一个非常基本的随机发生器,但是,我不确定这是最好的方法。我应该把这个列一个清单吗?阵列?还有别的吗?我在网上搜索的所有内容都在解释如何构建随机数生成器,这不是我需要的,或者它是一个没有内置依赖逻辑的简单列表。除了知道它应该做什么,我还不知道足够的C#来获得它。我甚至不确定我用正确的术语搜索谷歌


提前谢谢。

好的,我们一步一步走

根据这一结果,其他特征和特征将随机生成

好的,所以您需要一个函数:
ISet选项(T实例)
负责提供一组下一个可能选项(即,无重复元素的列表和针对检查(如
bool Contains(T instance)
)优化的内部实现)。所提供的选项必须考虑到给定的
T实例的本质
,并且只提供有效选项,这样捕食者就不会成为素食者

然后您需要
T AnyOf(IEnumerable options)
函数,该函数只拾取给定
IEnumerable
中包含的任何元素。显然,它将成为非威慑主义的典范

最后,您必须匹配它们,以便它们形成一个链
T Generate()
,该链能够自给自足地生成一个新的有效实例

请注意,通常您会处理不同的
T
。没有一个隐含的假设,即它们都是相互关联的。这取决于您对实例进行足够丰富的建模,以便能够应用我在上面绘制的草图


<好运>

你是指C++还是C道歉?我是指C。这可能有助于用“域”来思考数据。对于猛禽领域(例如),皮肤有n个特征,牙齿有y值,眼睛可能只有2个选择。列出它们后,基本上就有了一个集合。当你需要制作一只蜥蜴时,从每一堆(合法)特征中随机挑选一个来制作一只新的蜥蜴。你只要稍微聪明一点,就能让它为你创造一个蜥蜴或袋熊的物体。@NatPongjardenlarp-是的,这正是我想要做的。我已经创建了逻辑表或域。我不知道如何用C#做这件事。我应该把它们作为一个班级吗?名单?阵列?还有别的吗?我应该如何将它们连接在一起?等等。你所描述的可以建模为马尔可夫过程。下周,我将在我的博客上发表一篇关于如何在C#中建模马尔可夫过程的文章,但你可能想阅读之前的22篇相关博客文章,了解上下文。谢谢你的提示,Sereja。我得用谷歌搜索一下你刚才说的话,这样我才能理解,但至少现在我知道该找什么了。@JohnathanClayborn,下次你再回到so时,尽量具体一点;否则人们将无法帮助你。你如何建议我更具体一些?我真正说的第一句话是“我对编码很陌生”。当你不知道技术术语是什么的时候,用技术术语来解释是非常困难的。我正在努力学习,我想这是一个提问的好地方,这样我就可以学习了。相反,人们想否决我的问题,因为我是NoOB,把C++代替C。如果我对技术语言有足够的了解,能够更详细地描述我的问题,我就不需要首先问它了。@JohnathanClayborn,只需提供更多的代码,并尝试指定您感到不确定的确切位置以及为什么要远离噪音:在您的情况下,不需要html,也不需要“极权主义——政府知道什么对人民最有利”。这就是重点:除去一切,除了was会让你陷入困境。谢谢,我会试试。我认为有一些背景会有助于人们理解。我会让事情变得更简洁。