这是我的函数,过程生成1's和0's的无限随机映射,它只计算你在时间上能看到什么,当视图移动时,它计算下一行。
复杂性是屏幕上视图的大小,例如,如果复杂性=7,则屏幕上的视图是网格7x7。
它工作得很好,但是我如何整理它,简化代码并使它更加优雅呢?
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));
}向右移动的例子
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);
}
}发布于 2015-09-22 18:29:38
我知道这是次要的,但是您不应该将所有代码放在一起,没有空格,比如:
for (int y=0;y<complexity;y++){
level[complexity-1,y]=RandomReturn(complexity-1+offsetx,y+offsety);因为空格有助于一目了然地区分标记,所以我建议在每个操作符的两边都有一个空格。
https://codereview.stackexchange.com/questions/105372
复制相似问题