welcome: please sign in
location: "ピースを動かす"の差分
3と4のリビジョン間の差分
2009-12-07 01:09:19時点のリビジョン3
サイズ: 1068
編集者: masahiko
コメント:
2009-12-15 12:40:54時点のリビジョン4
サイズ: 1192
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
{{{ ピースを1つ取り除いてできた空白部分を使って
移動するための処理を記述します。
{{{#!java

ピースを動かす

ピースを1つ取り除いてできた空白部分を使って 移動するための処理を記述します。

   1 import javax.swing.*;
   2 import java.awt.*;
   3 import java.awt.event.*;
   4 
   5 public class Game14 extends JPanel implements MouseListener
   6 {
   7         int haba;
   8         int yoko, tate;
   9         String fname;
  10         Image img;
  11         int[][] ban;
  12         int spx, spy;
  13         
  14         Game14()
  15         {
  16                 addMouseListener(this);
  17         }
  18         public void mousePressed(MouseEvent e)
  19         {
  20                 int x, y, dx, dy;
  21 
  22                 x = e.getX() / haba;
  23                 y = e.getY() / haba;
  24                 dx = (x<spx) ? -1 : (x>spx) ? 1 : 0;
  25                 dy = (y<spy) ? -1 : (y>spy) ? 1 : 0;
  26 //              if(x < spx)
  27 //                      dx = -1;
  28 //              else if(x > spx)
  29 //                      dx = 1;
  30 //              else
  31 //                      dx = 0;
  32 //              if(y < spy)
  33 //                      dy = -1;
  34 //              else if(y > spy)
  35 //                      dy = 1;
  36 //              else
  37 //                      dy = 0;
  38                 if(dx != 0 && dy != 0)
  39                         return;
  40                 while (x != spx || y != spy)
  41                 {
  42                         ban[spx][spy] = ban[spx+dx][spy+dy];
  43                         spx = spx + dx;
  44                         spy = spy + dy;
  45                 };
  46                 repaint();
  47         }
  48         
  49         public void mouseEntered(MouseEvent e) { }
  50         public void mouseExited(MouseEvent e) { }
  51         public void mouseReleased(MouseEvent e) { }
  52         public void mouseClicked(MouseEvent e) { }      

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