【Java】利用GUI图形用户界面设计石头剪刀布游戏

石头剪刀布游戏 2.1【问题描述】 用JAVA 语言设计如下界面的石头剪刀布游戏。游戏的一方点击界面上石头、剪刀、布按钮,游戏的 另一方计算机随机选择,然后给出游戏结果。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class work11 extends JFrame implements ActionListener {
          
   
    JButton jiandao,shitou,bu,clear;
    JPanel pane12,panel1;
    JLabel label;
    public work11() {
          
   
        setTitle("窗体");
        setLocation(250,250);//窗体左上顶点坐标
        setSize(300,300);
        panel1 =new JPanel();
        panel1.setBackground(Color.yellow);
        shitou = new JButton("石头");
        jiandao =new JButton("剪刀");
        bu = new JButton("布");
        clear = new JButton("清空");
        pane12=new JPanel();
        pane12.setBackground(Color.green);
        label =new JLabel("选择剪刀、石头、布开始游戏");//运行窗口以后显示的标签
        shitou.addActionListener(this);//下面的四行是事件监听器,监听用户的输入
        bu.addActionListener(this);
        jiandao.addActionListener(this);
        clear.addActionListener(this);
        panel1.add(shitou);//把组件放进窗体中
        panel1.add(jiandao);
        panel1.add(bu);
        panel1.add(clear);
        pane12.add(label); 
        add(panel1,BorderLayout.NORTH);
        add(pane12,BorderLayout.CENTER);
    }
    public void actionPerformed(ActionEvent e){
          
   
        if(e.getSource()==shitou){
          
   
            int i=((int)(Math.random()*10))%3;//给电脑随机分配结果
            switch(i){
          
   
                case 0 :label.setText("你出石头,电脑出石头,平局!");break;
                case 1 :label.setText("你出石头,电脑出剪子,恭喜你赢了!");break;
                case 2 :label.setText("你出石头,电脑出布,很遗憾你输了!");break;
            }
        }
        else if(e.getSource()==bu){
          
   
            int i=((int)(Math.random()*10))%3;
            switch(i){
          
   
                case 0 :label.setText("你出布,电脑出布,平局!");break;
                case 1 :label.setText("你出布,电脑出石头,恭喜你赢了!");break;
                case 2 :label.setText("你出布,电脑出剪刀,很遗憾你输了!");break;
            }
        }
        else if(e.getSource()==jiandao){
          
   
            int i=((int)(Math.random()*10))%3;
            switch(i){
          
   
                case 0 :label.setText("你出剪刀,电脑出剪刀,平局!");break;
                case 1 :label.setText("你出剪刀,电脑出布,恭喜你赢了!");break;
                case 2 :label.setText("你出剪刀,电脑出石头,很遗憾你输了!");break;
            }
        }
        else if(e.getSource()==clear){
          
   
            label.setText("选择剪刀、石头、布开始游戏");
        }
    }

    public static void main(String[] args) {
          
   
        work11 frame =new work11();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体关闭按钮
        frame.setVisible(true);//使窗体可见
    }
}

运行结果:

经验分享 程序员 微信小程序 职场和发展