Java实现石头剪刀布游戏

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java实现石头剪刀布游戏

齐123   2020-10-11 我要评论

题目:

用 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("选择剪刀, 石头, 布开始游戏!");
 }
 }
}

运行结果:

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们