📄 ma.java
字号:
package com.catking.chess;
import java.util.HashSet;
import java.util.Set;
import com.catking.Utility.Bool;
import com.catking.Utility.Position;
public class Ma extends Chess{
public Ma(int color) {
super(color);
// TODO Auto-generated constructor stub
this.name = '馬';
}
@Override
public void go() {
// TODO Auto-generated method stub
System.out.print("马");
}
@Override
public Set<Position> availableSteps() {
// TODO Auto-generated method stub
Set<Position> set = new HashSet<Position>();
//八面马,注意绊马脚
//left
//左上
if( y >= 2 && x >= 1
&& ChessPane.chesses[x-1][y-2].color != color
&& ChessPane.chesses[x][y-1].color == KONG ) { //不能绊马脚
set.add(new Position(x-1, y-2));
}
//左下
if( y >= 2 && x <= ChessPane.ROWS - 2
&& ChessPane.chesses[x+1][y-2].color != color
&& ChessPane.chesses[x][y-1].color == KONG){
set.add(new Position(x+1, y-2));
}
//right
//右上
if( y <= ChessPane.COLS - 3 && x >= 1
&& ChessPane.chesses[x-1][y+2].color != color
&& ChessPane.chesses[x][y+1].color == KONG){
set.add(new Position(x-1, y+2));
}
//右下
if( y <= ChessPane.COLS - 3 && x <= ChessPane.ROWS-2
&& ChessPane.chesses[x+1][y+2].color != color
&& ChessPane.chesses[x][y+1].color == KONG){
set.add(new Position(x+1, y+2));
}
//up
//上左
if( y >= 1 && x >= 2
&& ChessPane.chesses[x-2][y-1].color != color
&& ChessPane.chesses[x-1][y].color == KONG){
set.add(new Position(x-2, y-1));
}
//上右
if( y <= ChessPane.COLS - 2 && x >= 2
&& ChessPane.chesses[x-2][y+1].color != color
&& ChessPane.chesses[x-1][y].color == KONG){
set.add(new Position(x-2, y+1));
}
//down
//下左
if( y >= 1 && x <= ChessPane.ROWS - 3
&& ChessPane.chesses[x+2][y-1].color != color
&& ChessPane.chesses[x+1][y].color == KONG){
set.add(new Position(x+2, y-1));
}
//下右
if( y <= ChessPane.COLS - 2 && x <= ChessPane.ROWS - 3
&& ChessPane.chesses[x+2][y+1].color != color
&& ChessPane.chesses[x+1][y].color == KONG){
set.add(new Position(x+2, y+1));
}
//System.out.println("有"+set.size()+"条道路");
return set;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -