首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由1's和0's组成的无限映射的过程生成

由1's和0's组成的无限映射的过程生成
EN

Code Review用户
提问于 2015-09-22 15:25:06
回答 1查看 62关注 0票数 1

这是我的函数,过程生成1's和0's的无限随机映射,它只计算你在时间上能看到什么,当视图移动时,它计算下一行。

复杂性是屏幕上视图的大小,例如,如果复杂性=7,则屏幕上的视图是网格7x7。

它工作得很好,但是我如何整理它,简化代码并使它更加优雅呢?

代码语言:javascript
复制
void CreateMap(){
    if(complexity%2==0) {
        complexity--;
    }

    if (randomseed) {
        levelseed=Time.time.ToString();
        Debug.Log ("Random");
    }

    psuedoRandom = new System.Random(levelseed.GetHashCode());
    offsetx=psuedoRandom.Next();
    levellocation=psuedoRandom.Next();
    offsety=psuedoRandom.Next();
    level = new int[complexity,complexity];
    for (int x=0;x<complexity;x++){
        for (int y=0;y<complexity;y++){
            level[x,y]=RandomReturn(x+offsetx,y+offsety);
        }
    }
}

int RandomReturn(int x, int y){
    psuedoRandom = new System.Random(x*y*levellocation.GetHashCode());  
    return (psuedoRandom.Next (0,2));
}

向右移动的例子

代码语言:javascript
复制
void MoveRight(){
    offsetx++;
    for (int x=0;x<complexity-1;x++){
        for (int y=0;y<complexity;y++){
            level[x,y]=level[x+1,y];
        }
    }

    for (int y=0;y<complexity;y++){
        level[complexity-1,y]=RandomReturn(complexity-1+offsetx,y+offsety);
    }
}
EN

回答 1

Code Review用户

发布于 2015-09-22 18:29:38

我知道这是次要的,但是您不应该将所有代码放在一起,没有空格,比如:

代码语言:javascript
复制
for (int y=0;y<complexity;y++){
    level[complexity-1,y]=RandomReturn(complexity-1+offsetx,y+offsety);

因为空格有助于一目了然地区分标记,所以我建议在每个操作符的两边都有一个空格。

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

https://codereview.stackexchange.com/questions/105372

复制
相关文章

相似问题

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