2
게임 조각을 초기 위치에서 새 위치로 이동하려고합니다. 참고 : 이동은 "합법적"인 것으로 간주됩니다.이 체스 판 이동이 제대로 작동하지 않는 이유는 무엇입니까?
public void move (int fromRow, int fromCol, int toRow, int toCol) {
GamePiece tmp; //Gamepiece is superclass
tmp=board[fromRow][fromCol];
board[toRow][toCol]=tmp;
board[fromRow][fromCol]=new Gamepiece(); //default constructor
System.out.print(toString()); //this method has the board array printed in correct format
}
내가 이것을 테스트 할 때 올바른 조각을 옮기지 않고 공백을주지 않습니다. 왜?
은'GamePiece' 클래스와'toString()'메소드처럼 더 많은 코드를 필요로합니다.'board' 클래스가 무엇이든간에 필요할 것입니다. –
이런 경우인지 모르겠지만, 내 경험으로 볼 때 행과 열을 스와핑하는 2D 배열을 처리 할 때 일반적으로 내 문제가 해결되었습니다. 그래서'tmp = board [fromCol] [fromRow]'등이 될 것입니다. – npinti
무언가가 움직일 때마다 새로운 피스를 만들어야할까요? 아마도 그렇지 않습니다. 이것이'null'이 존재하는 이유입니다. 또는, 게임 피스 (GamePiece)의 특별한 인스턴스가 필요하거나 좋아할 필요가 없다면, 아무 것도 의미하지 않습니다. – clwhisk