welcome: please sign in
location: "ピースを動かす"の差分
1と3のリビジョン間の差分 (その間の編集: 2回)
2009-12-04 06:14:59時点のリビジョン1
サイズ: 40
編集者: masahiko
コメント:
2009-12-07 01:09:19時点のリビジョン3
サイズ: 1068
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
{{{
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Game14 extends JPanel implements MouseListener
{
 int haba;
 int yoko, tate;
 String fname;
 Image img;
 int[][] ban;
 int spx, spy;
 
 Game14()
 {
  addMouseListener(this);
 }
 public void mousePressed(MouseEvent e)
 {
  int x, y, dx, dy;

  x = e.getX() / haba;
  y = e.getY() / haba;
  dx = (x<spx) ? -1 : (x>spx) ? 1 : 0;
  dy = (y<spy) ? -1 : (y>spy) ? 1 : 0;
// if(x < spx)
// dx = -1;
// else if(x > spx)
// dx = 1;
// else
// dx = 0;
// if(y < spy)
// dy = -1;
// else if(y > spy)
// dy = 1;
// else
// dy = 0;
  if(dx != 0 && dy != 0)
   return;
  while (x != spx || y != spy)
  {
   ban[spx][spy] = ban[spx+dx][spy+dy];
   spx = spx + dx;
   spy = spy + dy;
  };
  repaint();
 }
 
 public void mouseEntered(MouseEvent e) { }
 public void mouseExited(MouseEvent e) { }
 public void mouseReleased(MouseEvent e) { }
 public void mouseClicked(MouseEvent e) { }
}}}

ピースを動かす

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Game14 extends JPanel implements MouseListener
{
        int haba;
        int yoko, tate;
        String fname;
        Image img;
        int[][] ban;
        int spx, spy;
        
        Game14()
        {
                addMouseListener(this);
        }
        public void mousePressed(MouseEvent e)
        {
                int x, y, dx, dy;

                x = e.getX() / haba;
                y = e.getY() / haba;
                dx = (x<spx) ? -1 : (x>spx) ? 1 : 0;
                dy = (y<spy) ? -1 : (y>spy) ? 1 : 0;
//              if(x < spx)
//                      dx = -1;
//              else if(x > spx)
//                      dx = 1;
//              else
//                      dx = 0;
//              if(y < spy)
//                      dy = -1;
//              else if(y > spy)
//                      dy = 1;
//              else
//                      dy = 0;
                if(dx != 0 && dy != 0)
                        return;
                while (x != spx || y != spy)
                {
                        ban[spx][spy] = ban[spx+dx][spy+dy];
                        spx = spx + dx;
                        spy = spy + dy;
                };
                repaint();
        }
        
        public void mouseEntered(MouseEvent e) { }
        public void mouseExited(MouseEvent e) { }
        public void mouseReleased(MouseEvent e) { }
        public void mouseClicked(MouseEvent e) { }      

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