특정 유형의 그리드에 6 개의 카드를 정렬하는 프로그램을 만들려고합니다. 즉, 동일한 유형의 다른 카드 (왕자, 여왕 및 잭 인 유형) . 그리드는 4 × 4하지만 난 단지 다음과 같은 패턴 내부에 카드를 배치 할 수 있습니다 :Java 배열 - 인접한 카드
[ ][ ][x][ ]
[x][x][x][ ]
[ ][x][x][x]
[ ][ ][x][ ]
지금, 내 주요 문제는 내 방법은 카드 종류에 대한 인접 셀을 확인하려고 할 때. 0,0에서 시작하면 [row-1] [column]이 -1,0으로 변환되기 때문에 분명히 작동하지 않는지 확인하려고 시도합니다. 문제는, 어떻게 제대로 구현하는지 모르겠다.
정확히 무엇을 검색할지 (또는이 문제의 이름을 올바르게 지정하는 방법) 확실하지 않으므로이 질문이 전에 부탁 된 경우 사과드립니다.
private boolean bordersCard(int row, int column, char cardChar)
{
Candidate center = board[row][column];
Candidate top;
Candidate bottom;
Candidate left;
Candidate right;
if (board[row-1][column] != null){
top = board[row+1][column];
}
else
{
top = new Candidate('?', 0);
}
if (board[row+1][column] != null){
bottom = board[row+1][column];
}
else
{
bottom = new Candidate('?', 0);
}
if (board[row][column-1] != null){
left = board[row][column-1];
}
else
{
left = new Candidate('?', 0);
}
if (board[row][column+1] != null){
right = board[row][column+1];
}
else
{
right = new Candidate('?', 0);
}
if ((center.getCardChar() == top.getCardChar()) || (center.getCardChar() == bottom.getCardChar()) ||
(center.getCardChar() == left.getCardChar()) || (center.getCardChar() == right.getCardChar())){
return false;
}
return true;
}
감사 :
당신을 경우 변경! – Anubis