クリックで石を取り除く

jewel.gif を10個並べて、マウスのクリックで取り除きます。

下のリンクをクリックすると、このページで作成したアプレットが実行されます。
石を10個並べて、クリックで取り除く

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして click.java の名前で保存して下さい。
    //★ クリックで石を取り除く    前田 稔
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class click extends Applet implements MouseListener
    {   static  Image   img;
        static  int     num= 10;
    
        public void init()
        {   setBackground(Color.gray);
            img = getImage(getDocumentBase(),"jewel.gif");
            addMouseListener(this);
        }
    
        public void paint(Graphics g)
        {   int   i,x;
            super.paint(g);
            if (img!=null)
            {   for(i=0; i<num; i++)
                {   x= i*60;
                    g.drawImage(img,x,20,this);
                }
            }
        }
    
        public void mouseClicked(MouseEvent e)
        {   num= ((e.getX()+20)/60);
            repaint();
        }
    
        public void mousePressed(MouseEvent e){}
        public void mouseReleased(MouseEvent e){}
        public void mouseEntered(MouseEvent e){}
        public void mouseExited(MouseEvent e){}
    }
    
  2. jewel.gif(48*48 の宝石の画像)をプログラムと同じフォルダーに格納して下さい。
    テストするときは、サイズが合えば何でもかまいません。
  3. ホームページを表示する click.htm を作成します。
    <html>
      <body>
        <h3>石を10個並べて、クリックで取り除く</h3>
        <applet code="click.class" width="600" height="100">
        </applet>
      </body>
    </html>
    

プログラムの説明

  1. Applet のプログラムは java.applet.* を import して、extends(クラスの継承) で Applet を指定して下さい。
    Java ウインドウ操作用の API を使用するので java.awt.* をインポートします。
    マウスを使う時は MouseListener を implements(実装)して下さい。
    Image img; は画像データ(イメージ)の領域です。
    int num; は描画する石の数です。
        import java.applet.*;
        import java.awt.*;
        import java.awt.event.*;
    
        public class click extends Applet implements MouseListener
        {   static  Image   img;
            static  int     num= 10;
        
  2. init() はアプレットの初期化を行うメソッドです。
    setBackground(Color.gray); で背景色をグレイに設定しています。
    getImage() でアプレットのディレクトリ(DocumentBase)から画像を入力します。
    addMouseListener() でマウスの Listener を設定します。
        public void init()
        {   setBackground(Color.gray);
            img = getImage(getDocumentBase(),"jewel.gif");
            addMouseListener(this);
        }
        
  3. マウスのクリックを検出する mouseClicked() メソッドです。
    クリックされた座標から石の数を num に設定して repaint() で paint メソッドを呼び出します。
        public void mouseClicked(MouseEvent e)
        {   num= ((e.getX()+20)/60);
            repaint();
        }
        
  4. ウインドウを描画する paint() メソッドでは、num に設定された数だけ石を描画します。
        public void paint(Graphics g)
        {   int   i,x;
            super.paint(g);
            if (img!=null)
            {   for(i=0; i<num; i++)
                {   x= i*60;
                    g.drawImage(img,x,20,this);
                }
            }
        }
        
  5. クリック以外のマウスイベントを処理するメソッドです。
    今回はクリック以外は使わないので形式的に記述するだけです。
            public void mousePressed(MouseEvent e){}
            public void mouseReleased(MouseEvent e){}
            public void mouseEntered(MouseEvent e){}
            public void mouseExited(MouseEvent e){}
        

Java Game Program