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