📄 chessboard.java
字号:
import java.awt.*;
import bprolog.plc.Plc;
import java.applet.*;
public class ChessBoard {
public int n,w,h;
public Applet ap;
public Color pieceColor = new Color(255,150,150);
public ChessBoard(int n,Applet ap){
this.n = n;
w = 700/(n+2);
h = 700/(n+2);
}
public void startProlog(){
Plc.startPlc(new String[] {});
Plc goal=new Plc("queens",new Object[] {new Integer(n),this});
Plc.exec("load(queens_fc)");
System.out.println("=>drawBoard");
drawBoard();
System.out.println("=>call prolog");
goal.call();
}
public void drawBoard(){
Graphics g = ap.getGraphics();
for (int i=0;i<n;i++)
for (int j=0;j<n;j++){
System.out.println("=>drawRect");
g.drawRect((i+1)*w,(j+1)*h,w,h);
}
}
public void test(){
System.out.println("Called from B-Prolog");
}
public void drawQueens(Object[] pos){
Graphics g = ap.getGraphics();
int col;
for (int i=0;i<n;i++){
col = ((Integer)pos[i]).intValue();
g.setColor(pieceColor);
g.fillRect((i+1)*w,(col+1)*h,w,h);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -