私自身の個人的な娯楽のために、私は後で来るゲームの基礎となることを願っています。現在、私はゲーム「ボード」に取り組んでいます。次の点を考慮してください:LINQを使用して多次元配列から未知のアイテムを選択
class Board
{
private Cube[,,] gameBoard;
public Cube[, ,] GameBoard { get; }
private Random rnd;
private Person person;
public Person _Person { get; }
//default constructor
public Board()
{
person = new Person(this);
rnd = new Random();
gameBoard = new Cube[10, 10, 10];
gameBoard.Initialize();
int xAxis = rnd.Next(11);
int yAxis = rnd.Next(11);
int zAxis = rnd.Next(11);
gameBoard[xAxis, yAxis, zAxis].AddContents(person);
}
}
そして、この:
class Person : IObject
{
public Board GameBoard {get; set;}
public int Size { get; set; }
public void Move()
{
throw new NotImplementedException();
}
public void Move(Cube startLocation, Cube endLocation)
{
startLocation.RemoveContents(this);
endLocation.AddContents(this);
}
public Person(Board gameBoard)
{
Size = 1;
GameBoard = gameBoard;
}
public int[] GetLocation()
{
int[] currentLocation;
var location =
from cubes in GameBoard.GameBoard
where cubes.GetContents.Contains(this)
select cubes;
}
}
私は、これは、それはおそらく面白くないのですが、これはラフカットの過酷ですので、間違っている知っています。
GetLocation
私はPerson
が配置されているCube
の特定のインデックスを返そうとしています。その人がBoard.GameBoard[1, 2, 10]
にいる場合は、その場所を取得できるようになります(おそらく上記のint[]
)。しかし、現在では、私は次のエラーのためにコンパイルすることができませんでしだ:
Could not find an implementation of the query pattern for source type 'Cubes.Cube[*,*,*]'. 'Where' not found.'
私はLINQは、多次元配列を照会することができなければならないことをかなり確信していたが、私はどのように上の任意のドキュメントを発見していませんそれをするために。
ここに完全に間違ったトラックがありますか?
ありがとうございました...私はそれを恐れていました。 そして私は、私が答えが必要な質問の一部だけを尋ねた。うわー。 – AllenG