2 차원 어레이에서 미로 게임을 만들고 있지만 벽/문/등을 만드는 법을 이해할 수 없습니다. 나는 'W'를 누르면 다음 위치가 벽이 아닌 경우에만 캐릭터의 위치가 변경 될 것이라고 생각합니다. 어떻게 확인합니까? 다음은지도와 운동에 대한 내 코드입니다 :다음 위치가 특정 객체 인 경우 어떻게 2 차원 어레이를 체크인합니까?
const int ROWS = 16, COLUMNS = 24;
Blocks[,] map = new Blocks[COLUMNS, ROWS];
int playerRow = 3, playerColumn = 11;
Character gubbe = new Character();
// Create map
for (int row = 0; row < ROWS; row++)
{
for (int column = 0; column < COLUMNS; column++)
{
if (row == 0 || row == ROWS - 1 || column == 0 || column == COLUMNS - 1)
map[column, row] = new Wall();
else
map[column, row] = new EmptySpace();
}
}
while (true) // TODO: add a goal that ends the loop
{
// Draw map
string buffer = "";
for (int row = 0; row < ROWS; row++)
{
string line = "";
for (int column = 0; column < COLUMNS; column++)
{
if (column == playerColumn && row == playerRow)
line += gubbe.printBlock();
else
line += map[column, row].printBlock();
}
//Console.WriteLine(line);
buffer += line + "\n";
}
Console.CursorLeft = 0;
Console.CursorTop = 0;
Console.Write(buffer);
var key = Console.ReadKey();
if (key.Key == ConsoleKey.W)
playerRow--;
else if (key.Key == ConsoleKey.A)
playerColumn--;
else if (key.Key == ConsoleKey.S)
playerRow++;
else if (key.Key == ConsoleKey.D)
playerColumn++;
}//while
}//Map
. jscript와 C#은 어떻게 관련이 있습니까? – Sinatr
이 솔루션을 고려하십시오. https://stackoverflow.com/questions/11634079/how-can-i-get-the-data-type-of-a-variable-in-c –
https://stackoverflow.com/ 질문/11634079/c-variable-in-a-c-of-a-c-variable-in-c –