|
⇤ ← 2009-12-04 06:14:59時点のリビジョン1
サイズ: 40
コメント:
|
サイズ: 618
コメント:
|
| 削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
| 行 3: | 行 3: |
| {{{ 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(); } }}} |
ピースを動かす
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();
}