Java实现石头剪刀布游戏

这篇文章主要为大家详细介绍了Java实现石头剪刀布游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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("选择剪刀, 石头, 布开始游戏!"); } } }

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...