📄 man.java
字号:
package org.yushang.jumpchess.pkg;
import org.yushang.jumpchess.audio.WavePlayer;
import org.yushang.jumpchess.pub.BoardArea;
import org.yushang.jumpchess.pub.Color;
import org.yushang.jumpchess.pub.Map;
import org.yushang.jumpchess.pub.Position;
public class Man extends Player {
private Chess Selected = null;
private Position[] CanGo = null;
private WavePlayer wavePlayer = null;
public Man(ChessBoard chessboard, String name, Color color, BoardArea area) {
super(chessboard, name, color, area);
wavePlayer = new WavePlayer();
}
private void SelectChess(Position position) {
Chess chess = chessboard.getChess(position);
if (chess == null) {
return;
}
if (chess.GetColor() != this.GetColor()) {
return;
}
Selected = chess;
GoChess = chess;
Map map = chessboard.CanGo(chess);
CanGo = new Position[map.size() - 1];
for (int i = 0; i < map.size() - 1; i++) {
CanGo[i] = (Position) map.get(i + 1).data;
}
wavePlayer.Play(WavePlayer.WAVEUP);
}
private boolean GoChess(Position position) {
if (!IsCanGo(position)) {
return false;
}
path = CreatePath(GoChess, position);
Go(Selected, position);
Selected = null;
CanGo = null;
return true;
}
private void CancelSelect() {
if(Selected != null) {
wavePlayer.Play(WavePlayer.WAVEDROP);
}
CanGo = null;
Selected = null;
GoChess = null;
}
public boolean Run(int Mouse, Position postioin) {
if (Mouse == MouseNull) {
GoChess = null;
return false;
}
if (Mouse == MouseClick) {
if (Selected == null) {
SelectChess(postioin);
} else {
return GoChess(postioin);
}
} else if (Mouse == MouseRight) {
CancelSelect();
}
return false;
}
public Position[] getCanGo() {
return CanGo;
}
public Chess getSelected() {
return Selected;
}
private boolean IsCanGo(Position position) {
boolean re = false;
if (CanGo != null) {
for (int i = 0; i < CanGo.length; i++) {
if (CanGo[i].equals(position)) {
re = true;
break;
}
}
}
return re;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -