じゃんけんゲームα版

「じゃんけんゲーム」のα(アルファ)版です。

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

プログラムの作成

  1. メモ帳などでタイプして alpha.java の名前で保存して下さい。
    //★ じゃんけんゲームα版    前田 稔
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.*;
    
    public class alpha extends JApplet implements MouseListener
    {   static  Image   img;
        static  int     hand=0, com=0;
        static  Random  rand;
    
        // Initialize
        public void init()
        {   img = getImage(getDocumentBase(),"jyanken.gif");
            addMouseListener(this);
            rand = new Random();
            setBackground(Color.gray);
        }
    
        // Paint
        public void paint(Graphics g)
        {   Dimension  size = getSize();
            g.setColor(getBackground());
            g.fillRect(0,0,size.width,size.height);
            g.drawImage(img,10,10,250,90,this);
            g.drawImage(img,10,110,130,230,com*120,0,com*120+120,120,this);
            g.drawImage(img,140,110,260,230,hand*120,0,hand*120+120,120,this);
            g.setFont(new Font("Helvetica",Font.PLAIN,32));
            g.setColor(Color.black);
            g.drawString("わたし",20,260);
            g.drawString("あなた",160,260);
            switch((hand-com+3)%3)
            {   case 0: g.setColor(Color.yellow);
                        g.drawString("あいこです",10,300);
                        break;
                case 1: g.setColor(Color.red);
                        g.drawString("わたしの勝ち",10,300);
                        break;
                case 2: g.setColor(Color.green);
                        g.drawString("あなたの勝ち",10,300);
                        break;
            }
        }
    
        public void mouseClicked(MouseEvent e)
        {   hand= ((e.getX()+10)/80);
            com = rand.nextInt(3);
            repaint();
        }
    
        public void mousePressed(MouseEvent e){}
        public void mouseReleased(MouseEvent e){}
        public void mouseEntered(MouseEvent e){}
        public void mouseExited(MouseEvent e){}
    }
    
  2. Java Applet を起動する HTML ファイルを作成して下さい。
    画面のサイズは width=280 height=320 ぐらいが適当です。
    ホームページを表示する HTML ファイルの作成とコンパイルの説明は Java Applet を使う を参照して下さい。
  3. インターネットブラウザを起動して alpha.htm から実行して下さい。
    コンピュータ相手に「じゃんけんゲーム」が実行出来たら完成です。

Java プログラムの説明

  1. クリックで手を決める の続きです。
    画面をレイアウトして、じゃんけんゲームを完成します。
    基本的な説明は「クリックで手を決める」を参照して下さい。
    com はコンピュータ側の手で、乱数で決めます。
    乱数を使うので java.util.* を import して下さい。
        import java.util.*;
        public class alpha extends JApplet implements MouseListener
        {   static  Image   img;
            static  int     hand=0, com=0;
            static  Random  rand;
        
  2. init() メソッドでゲームの初期化を行います。
    img にグー・チョキ・パーの画像を入力します。
    画像サイズは 360*120 で、グー・チョキ・パーの画像が横に並んでいます。
    addMouseListener() で、マウスリスナーを組み込みます。
    new Random() で乱数をインスタンス化します。
        // Initialize
        public void init()
        {   img = getImage(getDocumentBase(),"jyanken.gif");
            addMouseListener(this);
            rand = new Random();
            setBackground(Color.gray);
        }
        
  3. paint() メソッドでウインドウを描画します。
    背景色で画面をクリアして、グー・チョキ・パーの画像をサイズを縮小して描画します。
    その下に com と hand で指示された画像を描画します。
    次に大きなフォントを設定して、ガイドメッセージを表示します。
    hand と com には、グー・チョキ・パーに対応して 0,1,2 が格納されています。
    (hand-com+3)%3 で勝敗を調べます。
        // Paint
        public void paint(Graphics g)
        {   Dimension  size = getSize();
            g.setColor(getBackground());
            g.fillRect(0,0,size.width,size.height);
            g.drawImage(img,10,10,250,90,this);
            g.drawImage(img,10,110,130,230,com*120,0,com*120+120,120,this);
            g.drawImage(img,140,110,260,230,hand*120,0,hand*120+120,120,this);
            g.setFont(new Font("Helvetica",Font.PLAIN,32));
            g.setColor(Color.black);
            g.drawString("わたし",20,260);
            g.drawString("あなた",160,260);
            switch((hand-com+3)%3)
            {   case 0: g.setColor(Color.yellow);
                        g.drawString("あいこです",10,300);
                        break;
                case 1: g.setColor(Color.red);
                        g.drawString("わたしの勝ち",10,300);
                        break;
                case 2: g.setColor(Color.green);
                        g.drawString("あなたの勝ち",10,300);
                        break;
            }
        }
        
  4. マウスがクリックされたときの処理です。
    クリックされた座標からグー・チョキ・パーを計算して hand に設定します。
    コンピュータ側の手を乱数で決めます。
    repaint() で描画するメソッド(paint) を呼び出します。
        public void mouseClicked(MouseEvent e)
        {   hand= ((e.getX()+10)/80);
            com = rand.nextInt(3);
            repaint();
        }
        

Java Game Program