Can';不理解方法-Java
我有以下方法:Can';不理解方法-Java,java,methods,Java,Methods,我有以下方法: private boolean checkVictory (char player) { boolean victory = false; // by default no victory for (int i = 0; i < _board[0].length; i++) { Cell c = new Cell(i, getLastOccupiedCells()[i].getRow()
private boolean checkVictory (char player)
{
boolean victory = false; // by default no victory
for (int i = 0; i < _board[0].length; i++)
{
Cell c = new Cell(i, getLastOccupiedCells()[i].getRow());
if (maxSequence(player, c) == 4)
victory = true;
}
return victory;
}
private boolean checkVictory(字符播放器)
{
布尔胜利=false;//默认情况下没有胜利
对于(int i=0;i<_板[0]。长度;i++)
{
单元c=新单元(i,getLastOccupiedCells()[i].getRow());
if(maxSequence(player,c)==4)
胜利=真实;
}
回归胜利;
}
这种方法是“四连胜”游戏的一部分。
maxSequence(player,c)应返回包含单元格“c”和符号“player”(表示“X”或“O”)的最长序列
只是想知道第4行的意思:if(maxSequence(player,c)==4)
thnx 如果同一类型的4个项目(在单元格c中找到的项目)排成一行(按顺序排列),则其中一名玩家赢得了
如果
是一个关键字,则是该语言中具有特殊意义的单词。声明
if (maxSequence(player, c) == 4)
victory = true;
……是指:
如果从maxSequence
(带参数player
和c
)返回的结果返回4,则执行语句将victory
设置为true
这里有一个很好的链接:
final
,因为那也是一个关键词,但你可以把它命名为goal
或者其他什么。我实际上会创建一个成员字段(类变量),如下所示:private final static int-GOAL=4代码>方法内部的“final int WIN_SEQ=4;”如何?方法本身被定义为“private”,因此我不必担心它。当然,这很好。不过,通常您会在类级别上放置这样的常量。但是把它放在方法中没有什么错。为什么是在类级别?每个方法本身的封装情况如何?毕竟,这个方法的类是一个公共类。你通常把这些常量放在类级别上,因为你经常想在多个方法中访问它们。您可能还想在其他地方阅读它,例如,为了显示它。作为旁注,最好是if(maxSequence(player,c)>=4)
,因为从理论上讲,如果有2个3的序列并将它们连接起来,您可以得到7个单元格的序列。