首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在c#中随机填充一个包含真和假布尔值的数组(以及其他问题)

在c#中随机填充一个包含真和假布尔值的数组(以及其他问题)
EN

Stack Overflow用户
提问于 2018-11-15 12:47:27
回答 2查看 483关注 0票数 1

目前在大学学习,学习编程,我有一个家庭作业,我不能真正解决。

我的任务是创建Conway的“生命游戏”,你制作一个数组,你必须用“细胞”填充--这些细胞可以是死的和活的,你可以随机地用随机的死细胞和活的细胞填充数组。我的第一个任务是用0和1填充细胞,0代表死细胞,1代表活细胞。

这个游戏有几个规则,例如

  • 如果一个活的细胞有两个或更少的活邻居,它就会死掉。
  • 如果一个活的细胞有2或3个活着的邻居,它仍然活着。
  • 如果和活着的细胞有3个或更多的活邻居,它就会死掉。
  • 如果一个死细胞有3个活着的邻居,它就会活下来。

这个游戏继续进行,有多个回合,所有这些细胞根据规则改变自己的状态。我必须跟踪一个细胞状态的变化,当它还活着的时候,我必须跟踪最多的数量。

我的问题是:

  • 我该上一堂新课吗?
  • 我应该用true/false或0/1来声明它们的状态吗?如果我使用true/false,如何随机地填充一个包含真假值的矩阵?
  • 正如您在规则中所看到的,在实现规则和更改cell.How的状态之前,我必须知道单元是活的还是死的,您会这样做吗?

如果我问了很多问题,很抱歉。提前感谢!塔马斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-15 13:09:18

你应该上一堂新课吗?如果你想的话你可以。我知道在某些课程中,当他们教c#时,他们希望你学会创建类和对象,但是如果这不是你的作业的要求,你可以不用创建一个。

您是使用true/false还是0/1?我看不出这两者有多大区别。True/false可能比0/1更少使用系统资源,但我只是猜测,这可能取决于您如何检查它们的值。

如何用随机布尔填充数组?如果在矩阵中使用带有2层的数组,我将执行如下操作:

代码语言:javascript
复制
        int NumberOfColumns = 10;
        int NumberOfRows = 10;

        bool[,] Matrix = new bool[NumberOfRows, NumberOfColumns];

        Random rng  = new Random();

        for (int i = 0; i < NumberOfRows; i++)
        {
            for (int j = 0; j < NumberOfColumns; j++)
            {
                if (rng.Next(0, 2) == 1)
                {
                    Matrix[i,j] = true;
                }
                else
                {
                    Matrix[i,j] = false;
                }
            }
        }
票数 2
EN

Stack Overflow用户

发布于 2018-11-15 13:09:38

最简单的方法是创建单元格的类。每个细胞都必须包含一个bool (false如果是死的,真是活着的)。(在调用构造函数时,可以将bool随机化)

下一步是创建一个单元格数组。

现在您可以只使用一个线程on而为true,然后在其中您可以使用foreach(ArrayofCell中的Cell).做某事(例如尊重规则)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53319830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档