如何引用无名对象? 对于游戏,如果我制作方格并使用
之类的东西for (int X =0; X <= 10; X++)
{
for(int Y =0; Y <= 10; Y++)
{
new Cell(X, Y);
}
}
我将拥有100个没有名字的单元格。我如何在之后修改或检查它们,也许是通过它们的坐标引用它们,例如
ThisCell.DoSomething();
通过其坐标或其他东西来指代细胞
HALP。我不能只有1000个或更多的细胞,每个细胞都有自己的小宠物名称可供使用。例如,必须通过一些东西检查某些东西的邻居,而不用制作新的细胞...
基本上我遇到的问题是,对于每个邻居检查,例如,我创建了返回错误值的新默认单元格。
例如,如果你们中的任何人能够给我一个很好的功能来检查其向上邻居的boolean
IsWalkable
......我将非常感激
答案 0 :(得分:2)
您需要创建类型为Cell
的数组:
Cell[,] myCells = new Cell[10,10]
将new Cell(X, Y);
更改为myCells[X,Y] = new Cell();
从那里你可以随时参考任何细胞:
myCells[1,2].DoSomething()
;
答案 1 :(得分:1)
创建一个数组,然后将单元格存储在其中
Cell[,] cells = new Cell[10,10];
for (int X =0; X <= 10; X++)
{
for(int Y =0; Y <= 10; Y++)
{
cells[X,Y] = new Cell(X, Y);
}
}
要延迟检索单元格,只需使用它的x和y坐标来索引数组:
Cell someCell = cells[5,5]; // for example
通过操纵坐标很容易找到邻居。例如,如果每个单元格也有自己的X和Y坐标(构造函数参数建议),您可以执行以下操作:
Cell cellAboveMe = cells[someCell.X, someCell.Y - 1];
虽然请注意您要包含边界检查(如果Y==0
,则此单元格上方没有单元格)
这是非常基本的东西,因此您需要了解数组的工作原理。见这里:
http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
例如。