ju.java
来自「SWT实现人人的象棋程序 供学习SWT的同志做个参考」· Java 代码 · 共 66 行
JAVA
66 行
package com.catking.chess;
import java.util.HashSet;
import java.util.Set;
import com.catking.Utility.*;
public class Ju extends Chess{
public Ju(int color){
super(color);
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
int temp = y;
while(temp-- != 0){
if(!add(set, x, temp))
break;
}
//right
temp = y;
while(temp++ != ChessPane.COLS-1){
if(!add(set, x, temp))
break;
}
//up
temp = x;
while(temp-- != 0){
if(!add(set, temp, y))
break;
}
//down
temp = x;
while(temp++ != ChessPane.ROWS-1){
if(!add(set, temp, y))
break;
}
//System.out.println("有"+set.size()+"条道路");
return set;
}
private boolean add(Set<Position>set, int x, int y){
int clr = ChessPane.chesses[x][y].color;
//不是同色的棋子
if( clr != color){
set.add(new Position(x, y));
//遇到了第一个对方的棋子
return clr == KONG;
}
return false;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?