저는 Connect 4 게임을 구축 중이며 int 배열을 메서드에 빌드 할 수 있는지 궁금합니다. 코드를 표시하는 것이 더 쉬울 것이므로 아래의 방법 (및 종속성)을 보여 줬습니다. 주석 처리 비트는 순간메서드에서 인수로 int 배열 전달 [Java]
//Defend 4 horizontal to the right (xxx-)
for(int y=0;y<board.get_ysize();y++){
boolean breakfor=false;
for(int x=0;x<(board.get_xsize()-3);x++){
if(board.get_state(x,y)==1
&& board.areSame(board, {(x+1),y}, {x,y})
&& board.areSame(board, {(x+2),y}, {x,y})
&& board.areSame(board, {(x+3),y}, {0})
// How the code works at the moment:
// board.get_state((x+1),y)==board.get_state(x,y)
// && board.get_state((x+2),y)==board.get_state(x,y)
// && board.get_state((x+3),y)==0)
{
if(y==0){
return (x+3);
}
else if((y-1)==0){
return (x+3);
}
else{
breakfor=true;
break;
}
}
}
if(breakfor){
break;
}
}
get_state() 작동 방법이다.
가public int get_state(int x, int y) {
return layout[x][y];
}
(레이아웃 [X] [Y]는 0, 1 또는 2 위치를 반환 0 인 빈과 1, 2)
areSame() 플레이어 카운터입니다 : 코드 이전 방식으로 작동으로 그것은 필요는 없습니다
public boolean areSame(GameBoard board, int[] initialspace, int[] comparespace){
if(board.get_state(initialspace[0],initialspace[1])==board.get_state(comparespace[0], comparespace[1])){
return true;
}
return false;
}
,하지만 난이었다 이 배열 메서드를 작동시키는 방법이 있는지 궁금합니다.
감사
확인할 방법을 전달할 패턴을 찾으십니까? – ErstwhileIII
공간과 인접한 공간에서 카운터의 유형 (또는 카운터 부족)을 비교하여 플레이어가 네 번째 카운터를 배치하여 이길지를 확인하려고합니다. 이것은 게임 AI를위한 것이므로 레이아웃 배열 위치에 1이 있는지 항상 확인합니다. 1은 플레이어 카운터를 나타냅니다. 나는 그것이 의미가 있기를 바랍니다. – admrply