실제 보드 게임을 기반으로 "이동"이라는 보드 게임을 만들고 있습니다. 기본적으로 2 명의 선수 (화이트와 블랙)가 있으며 보드 게임 그리드의 교차점에 흰색과 검은 색 돌을 놓고 차례로 회전합니다.그리드에 2D 배열 그리기
지금까지 돌을 그렸고 플레이어간에 번갈아 가며 2D 배열에서 값을 변경했습니다. 여기서 0 = 열린 지점, 1 = 흰색, 2 = 검정입니다.
2D 배열의 해당 돌을 내 보드에 그려야합니다. 올바른 돌을 그려 내 마우스를 따라갈 수 있지만 위치를 클릭하면 위치에 배치되고 거기에 머물러 있기를 원합니다.
이
내가 돌을 내 마우스를 따라하기 위해 무엇을 사용if (turn == 1) {
g2d.drawImage(s.getBlackStone(),
s.getBlackX() - Frame.frameLocation.x - 15,
s.getBlackY() - Frame.frameLocation.y - 35, null);
} else {
g2d.drawImage(s.getWhiteStone(),
s.getWhiteX() - Frame.frameLocation.x - 15,
s.getWhiteY() - Frame.frameLocation.y - 35, null);
}
난 내 마우스 버튼을 누르고 방법은 그리드 위치를 얻을 때마다 호출되는 방법이 무엇 나는 생각했다 내 마우스를 클릭하면 어디서 그것을 돌리고 이미지를 그립니다. 이것에 대한 당신의 생각은 무엇입니까?
'프레임 '은 변수 또는 클래스입니까? 변수 인 경우에는 'frame'이라고해야합니다. 클래스의 경우 (a) 위치에 정적 변수를 사용하면 안되며 (b) java.awt.Frame을 숨기면 안됩니다. 또한 그래픽 컨텍스트는 화면이 아닌 구성 요소와 관련하여 그립니다. – wchargin
그게 적절하다고 생각합니다. 그리드 위치를 가져 와서 거기에 돌을 놓거나 그립니다. 당신이 실제로 무엇을 할 지 확신하지 못합니다. – greedybuddha
또한 enum을 살펴 보시기 바랍니다 :'if (turn == Player.WHITE)'와 함께'public enum Player {WHITE, BLACK}을 사용하십시오. – wchargin