Java语言实现石头剪刀布游戏

石头剪刀布游戏

题目:
用 JAVA 语言设计如下界面的石头剪刀布游戏。游戏的一方点击界面上石头、剪刀、布按钮,游戏的另一方计算机随机选择,然后给出游戏结果。

Java:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

@SuppressWarnings("serial")
public class TestOne extends JFrame implements ActionListener{
	// 定义石头剪刀布的 JButton 对象
	JButton jiandao, shitou, bu, clear;        
	JPanel panel2, panel1;
	JLabel label;
	
	// 主函数
	public static void main(String[] args) {
		TestOne frame = new TestOne();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     // 设置窗体关闭按钮
		frame.setVisible(true);                                   // 使窗体可见
	}
	
	// 设置窗体
	public TestOne() {
		setTitle("石头剪刀布游戏");    // 石头剪刀布游戏
		setLocation(250, 250);        // 设置窗体坐上顶点坐标
		setSize(300, 300);            // 设置窗体大小。窗体大小 : 350X350
		
		// 建立对象
		panel1 = new JPanel();
		panel1.setBackground(Color.yellow);
		shitou = new JButton("石头");
		jiandao = new JButton("剪刀");
		bu = new JButton("布");
		clear = new JButton("清空");
		panel2 = new JPanel();
		panel2.setBackground(Color.green);
		label = new JLabel("选择剪刀, 石头, 布开始游戏");
		
		// 给所有 JBUtton 对象添加事件约束
		// 给事件添加监听器
		shitou.addActionListener(this);          
		jiandao.addActionListener(this);
		bu.addActionListener(this);
		clear.addActionListener(this);
		
		// 把所有的新添加的对象都放进去窗体里面,先放进组件类,再放进窗体类
		panel1.add(shitou);
		panel1.add(jiandao);
		panel1.add(bu);
		panel1.add(clear);
		panel2.add(label);
		
		add(panel1, BorderLayout.NORTH);
		add(panel2, 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() == 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() == 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() == clear) {
			label.setText("选择剪刀, 石头, 布开始游戏!");
		}
	}
}

运行结果:
石头剪刀布游戏

原文地址:https://www.cnblogs.com/jiaohuadehulike/p/14295004.html