ピースを動かす
public void mousePressed(MouseEvent e)
{
int ix, iy, dx, dy;
ix = e.getX() / pSize;
iy = e.getY() / pSize;
if(ix < 0 || ix >= nx || iy < 0 || iy >= ny) return;
if(ix == spx && iy != spy)
{
dx = 0;
dy = (iy < spy) ? -1 : 1;
}
else if(iy == spy && ix != spx)
{
dy = 0;
dx = (ix < spx) ? -1 : 1;
}
else
return;
do
{
ban[spx][spy] = ban[spx+dx][spy+dy];
spx = spx + dx;
spy = spy + dy;
} while (spx != ix || spy != iy);
ban[spx][spy] = nx*ny-1; // はずしたピース
repaint();
}