welcome: please sign in

2009-12-04 06:15:29時点のリビジョン2

メッセージを消す
location: ピースを動かす

ピースを動かす

        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();
        }