|
サイズ: 618
コメント:
|
サイズ: 1068
コメント:
|
| 削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
| 行 4: | 行 4: |
| 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); } |
|
| 行 6: | 行 23: |
| int ix, iy, dx, dy; | int x, y, dx, dy; |
| 行 8: | 行 25: |
| 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 |
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) |
| 行 23: | 行 43: |
| do | while (x != spx || y != spy) |
| 行 28: | 行 48: |
| } while (spx != ix || spy != iy); ban[spx][spy] = nx*ny-1; // はずしたピース |
}; |
| 行 32: | 行 51: |
| 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) { } 