class an
{
int title=1;
int pane[][]=new int[16][16];
public void static ChessBord(int i,int j,int dr,int dc,int size)
{
if (size==1) return;
int t=this.title+1;
int s=size/2;
if (dr<i+s&&dc<j+s)//检测左上角
ChessBord(i,j,dr,dc,s);
else
{
pane[i+s-1][j+s-1]=t;
ChessBord(i,j,i+s-1,j+s-1,s);
}
if (dr<i+s&&dc>j+s)//检测右上角
ChessBord(i,j+s,dr,dc,s);
else
{
pane[i+s][j+s-1]=t;
ChessBord(i,j+s,i+s-1,j+s,s);
}
if (dr>i+s&&dc<j+s)//检测左下角
ChessBord(i+s,j,dr,dc,s);
else
{
pane[i+s][j+s-1]=t;
ChessBord(i+s,j,i+s,j+s-1,s);
}
if (dr>i+s&&dc>j+s)//检测右下角
ChessBord(i+s,j+s,dr,dc,s);
else
{
pane[i+s][j+s]=t;
ChessBord(i+s,j+s,i+s,j+s,s);
}
}
}
public class Page
{
public static void main(String args[])
{
int i=0,j=0;
int dr=5,dc=5;
int size=16;
an.ChessBord(i,j,dr,dc,size);
System.out.println("OK");
}
}
调试不成功,请指点
{
int title=1;
int pane[][]=new int[16][16];
public void static ChessBord(int i,int j,int dr,int dc,int size)
{
if (size==1) return;
int t=this.title+1;
int s=size/2;
if (dr<i+s&&dc<j+s)//检测左上角
ChessBord(i,j,dr,dc,s);
else
{
pane[i+s-1][j+s-1]=t;
ChessBord(i,j,i+s-1,j+s-1,s);
}
if (dr<i+s&&dc>j+s)//检测右上角
ChessBord(i,j+s,dr,dc,s);
else
{
pane[i+s][j+s-1]=t;
ChessBord(i,j+s,i+s-1,j+s,s);
}
if (dr>i+s&&dc<j+s)//检测左下角
ChessBord(i+s,j,dr,dc,s);
else
{
pane[i+s][j+s-1]=t;
ChessBord(i+s,j,i+s,j+s-1,s);
}
if (dr>i+s&&dc>j+s)//检测右下角
ChessBord(i+s,j+s,dr,dc,s);
else
{
pane[i+s][j+s]=t;
ChessBord(i+s,j+s,i+s,j+s,s);
}
}
}
public class Page
{
public static void main(String args[])
{
int i=0,j=0;
int dr=5,dc=5;
int size=16;
an.ChessBord(i,j,dr,dc,size);
System.out.println("OK");
}
}
调试不成功,请指点
去掉上面这个函数中的static,然后调用的时候如下:
an anIns = new an();
anIns.ChessBord( i, j, dr, dc, size );