0
我正在構建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