welcome: please sign in
location: "盤の表現"の差分
3と4のリビジョン間の差分
2009-12-04 05:34:16時点のリビジョン3
サイズ: 1224
編集者: masahiko
コメント:
2009-12-04 05:37:21時点のリビジョン4
サイズ: 1389
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 4: 行 4:
2次元配列 int[][] ban であらわすことにします。

まず、各ピースに番号をつけます。
 . 左上から順に0,1,2,...とします。
行 24: 行 28:
 int ban[][]= {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}, {12,13,14,15}};  int[][] ban= {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}, {12,13,14,15}};

盤の表現

2次元配列 int[][] ban であらわすことにします。

まず、各ピースに番号をつけます。

  • 左上から順に0,1,2,...とします。
  • game0s.png

  • game0.png

  • [添付]

   1 import javax.swing.*;
   2 import java.awt.*;
   3 import java.awt.event.*;
   4 
   5 public class Game12 extends JPanel implements MouseListener
   6 {
   7         static final int pSize = 100;
   8         static final int nx = 4;
   9         static final int ny = 4;
  10         
  11         Image img;
  12         int mx = 0;
  13         int my = 0;
  14         int[][] ban= {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}, {12,13,14,15}};
  15         
  16         public static void main(String[] args)
  17         {
  18                 ...
  19         }
  20         
  21         Game12()
  22         {
  23                 ...
  24         }
  25         
  26         public void paintComponent(Graphics g)
  27         {
  28                 int i, j, x, y;
  29                 
  30                 for(i = 0; i < ny; i++)
  31                         for(j = 0; j < nx; j++)
  32                         {
  33                                 x = ??? ;
  34                                 y = ??? ;
  35                                 g.drawImage(img,
  36                                         i*pSize, j*pSize, (i+1)*pSize, (j+1)*pSize,
  37                                         x*pSize, y*pSize, (x+1)*pSize, (y+1)*pSize,
  38                                         this);
  39                         }
  40                 g.setColor(Color.orange);
  41                 g.drawRect(mx, my, pSize, pSize);
  42         }
  43         
  44         public void mousePressed(MouseEvent e)
  45         {
  46                 mx = e.getX();
  47                 my = e.getY();
  48                 repaint();
  49         }
  50         
  51         public void mouseEntered(MouseEvent e) { }
  52         public void mouseExited(MouseEvent e) { }
  53         public void mouseReleased(MouseEvent e) { }
  54         public void mouseClicked(MouseEvent e) { }
  55 }

盤の表現 (最終更新日時 2012-01-12 05:52:44 更新者 masahiko)