📄 manhattancomparator.java
字号:
/*
* Created on 22-okt-2004
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package logic;
import java.util.Comparator;
/**
*
* A Comparator that compares two PuzzleState s based on their manhattan distance
*
*/
public class ManhattanComparator implements Comparator {
private PuzzleState target;
private int maxRowToControl;
public ManhattanComparator(PuzzleState target)
{
this(target, PuzzleState.NMBR_OF_ROWS);
}
public ManhattanComparator(PuzzleState doel, int maxRowToControl)
{
this.target = doel;
this.maxRowToControl = maxRowToControl;
}
/* (non-Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
public int compare(Object obj1, Object obj2) {
PuzzleState puzzleState1 = (PuzzleState)obj1;
PuzzleState puzzleState2 = (PuzzleState)obj2;
return puzzleState1.getManhattanDistance(target, maxRowToControl) - puzzleState2.getManhattanDistance(target, maxRowToControl);
}
public void setMaxRowToControl(int maxRowToControl)
{
this.maxRowToControl = maxRowToControl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -