welcome: please sign in
location: "ピースを動かす"の差分
1と2のリビジョン間の差分
2009-12-04 06:14:59時点のリビジョン1
サイズ: 40
編集者: masahiko
コメント:
2009-12-04 06:15:29時点のリビジョン2
サイズ: 618
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 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();
        }

ピースを動かす (最終更新日時 2012-01-12 07:09:21 更新者 masahiko)