40
コメント:
|
1260
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 3: | 行 3: |
ピースを1つ取り除いてできた空白部分を使って 移動するための処理を記述します。 {{{#!java 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; void shokika() { ... spx = yoko-1; spy = tate-1; } 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) { } }}} |
ピースを動かす
ピースを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 void shokika()
15 {
16 ...
17 spx = yoko-1;
18 spy = tate-1;
19 }
20
21 Game14()
22 {
23 addMouseListener(this);
24 }
25 public void mousePressed(MouseEvent e)
26 {
27 int x, y, dx, dy;
28
29 x = e.getX() / haba;
30 y = e.getY() / haba;
31 dx = (x<spx) ? -1 : (x>spx) ? 1 : 0;
32 dy = (y<spy) ? -1 : (y>spy) ? 1 : 0;
33 // if(x < spx)
34 // dx = -1;
35 // else if(x > spx)
36 // dx = 1;
37 // else
38 // dx = 0;
39 // if(y < spy)
40 // dy = -1;
41 // else if(y > spy)
42 // dy = 1;
43 // else
44 // dy = 0;
45 if(dx != 0 && dy != 0)
46 return;
47 while (x != spx || y != spy)
48 {
49 ban[spx][spy] = ban[spx+dx][spy+dy];
50 spx = spx + dx;
51 spy = spy + dy;
52 };
53 repaint();
54 }
55
56 public void mouseEntered(MouseEvent e) { }
57 public void mouseExited(MouseEvent e) { }
58 public void mouseReleased(MouseEvent e) { }
59 public void mouseClicked(MouseEvent e) { }