求大神帮我写下java火柴人小游戏代码注释

qq8731728a 2016-01-10 05:09:44
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

public class GetMatch extends JFrame implements ActionListener
{
private static final long serialVersionUID = 920921981358099067L;

public int sumMatch;

private JLabel lbPer, lbCom, lbLast;

private JButton btnStart;

private JRadioButton rdbOne, rdbTwo, rdbThree;

private JTextField tfPcshow, tfLastshow;

private boolean win = true;

public GetMatch()
{
super("火柴游戏");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 300);
setLocationRelativeTo(null);
setResizable(false);
initUI();
}

private void initUI()
{
Container contrainer = getContentPane();
ButtonGroup group = new ButtonGroup();
contrainer.setLayout(null);

lbPer = new JLabel("Person取数");
lbPer.setBounds(20, 25, 100, 25);
lbCom = new JLabel("Computer取数");
lbCom.setBounds(20, 70, 100, 25);
lbLast = new JLabel("剩余火柴数");
lbLast.setBounds(20, 115, 100, 25);
btnStart = new JButton("PC启动");
btnStart.setBounds(310, 70, 100, 25);
rdbOne = new JRadioButton("1");
rdbOne.setBounds(135, 25, 35, 35);
rdbTwo = new JRadioButton("2");
rdbTwo.setBounds(170, 25, 35, 35);
rdbThree = new JRadioButton("3");
rdbThree.setBounds(205, 25, 35, 35);
tfPcshow = new JTextField();
tfPcshow.setBounds(135, 70, 150, 25);
tfLastshow = new JTextField();
tfLastshow.setBounds(135, 115, 150, 25);

btnStart.addActionListener(this);
rdbOne.addActionListener(this);
rdbTwo.addActionListener(this);
rdbThree.addActionListener(this);

group.add(rdbOne);
group.add(rdbTwo);
group.add(rdbThree);

contrainer.add(btnStart);
contrainer.add(rdbOne);
contrainer.add(rdbTwo);
contrainer.add(rdbThree);
contrainer.add(rdbOne);
contrainer.add(rdbTwo);
contrainer.add(rdbThree);
contrainer.add(lbPer);
contrainer.add(lbCom);
contrainer.add(tfPcshow);
contrainer.add(btnStart);
contrainer.add(lbLast);
contrainer.add(tfLastshow);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource() == btnStart)
{
sumMatch = (int)(Math.random() * (50 - 20)) + 20;
tfPcshow.setText("计算机随机取了" + sumMatch + "根火柴");
tfLastshow.setText("");
}
else if(e.getSource() instanceof JRadioButton)
{
int k = Integer.parseInt(((JRadioButton)e.getSource()).getText());
;
sumMatch -= k;

if(sumMatch == 0)
{
JOptionPane.showMessageDialog(this, "你赢啦", "TEST", JOptionPane.INFORMATION_MESSAGE);
}
else if(sumMatch < 0)
{
JOptionPane.showMessageDialog(this, "出错啦!重新来过", "TEST", JOptionPane.INFORMATION_MESSAGE);
}

tfPcshow.setText("计算机取了" + computer() + "根");
tfLastshow.setText("剩余火柴" + sumMatch + "根");

if(!win)
{
JOptionPane.showMessageDialog(this, "你输啦!", "TEST", JOptionPane.INFORMATION_MESSAGE);
win = true;
}
}
}

private int computer()
{
int ret = 0;

if(sumMatch <= 3 && sumMatch > 0)
{
ret = sumMatch;
sumMatch = 0;
win = false;
}
else if(sumMatch != 0)
{
ret = (int)(Math.random() * (3 - 1)) + 1;
sumMatch -= ret;
}

return ret;
}

public static void main(String[] args)
{
GetMatch frame = new GetMatch();
frame.setVisible(true);
}
}
...全文
797 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
代码转载自:https://pan.quark.cn/s/a4b39357ea24 自动驾驶是当前科技界高度关注的研究方向,其研究范畴涵盖了人工智能、计算机视觉、机器学习以及传感器融合等多个重要学科。这份题为"自动驾驶论文"的资料,无疑为人们提供了一个深入了解这一复杂系统的机会。以下是基于其标题和描述所呈现的一些关键知识点的详细阐述: 1. **自动驾驶技术**:自动驾驶指的是车辆在无需人类驾驶员参与的情况下,借助各类传感器和智能算法来感知周围环境,制定行驶路线,并执行驾驶行为。这种技术的核心宗旨在于提升交通安全性、缓解交通压力,并改善出行体验。 2. **Python编程语言**:Python是一种在数据处理和科学计算领域得到广泛应用的高级编程语言,由于其语法简洁且拥有丰富的库支持,经常被应用于自动驾驶领域的数据处理、模型构建和系统集成。 3. **源代码分析**:论文中提供的源代码可能包含了自动驾驶算法的实现细节,可能涵盖环境感知模块(包括图像处理、激光雷达数据解读)、决策模块(涉及路径规划、行为分析)、控制模块(涵盖车辆动力学建模、控制策略设计)等,这些代码可作为学习和研究自动驾驶算法的实践范例。 4. **计算机视觉**:自动驾驶系统中的计算机视觉技术主要用于识别道路标识、行人、其他车辆等,这通常涉及图像分类、目标识别和语义分割等任务,常见的技术包括卷积神经网络(CNN)、区域提议网络(RPN)、YOLO、Faster R-CNN等。 5. **机器学习**:机器学习是自动驾驶技术的核心,用于训练模型以理解和预测复杂的驾驶情境。深度学习,特别是深度强化学习,在决策制定和控制策略方面已取得显著进展。 6. **传感器融合**:自动驾驶汽车通常装备多种传...
内容概要:本文提出了一种改进的多旋翼无人机动态模拟的模块化仿真环境,基于Matlab/Simulink平台实现。该仿真环境通过模块化设计,集成了无人机的气动模型、动力系统模型、传感器模型及控制算法等多个关键子系统,能够精确模拟多旋翼无人机在复杂飞行条件下的动态响应特性。系统改进之处在于增强了模型的真实性和可扩展性,优化了仿真计算效率,并支持硬件在环(HIL)测试,便于控制算法的快速原型验证与迭代开发。该环境不仅可用于无人机飞控算法的设计与验证,也可服务于飞行器性能评估、故障诊断与容错控制等研究。; 适合人群:具备一定控制理论基础和Matlab/Simulink使用经验的高校研究生、科研机构研究人员及无人机相关领域的工程技术人员。; 使用场景及目标:①用于多旋翼无人机飞行动力学建模与仿真分析;②支持先进飞行控制算法(如PID、LQR、MPC、自适应控制等)的开发与验证;③作为教学工具帮助学生理解无人机系统构成与控制原理;④为无人机产品开发提供前期仿真测试平台,降低实飞风险与研发成本。; 阅读建议:建议读者结合Matlab/Simulink环境动手实践,逐步搭建并调试各个模块,重点关注各子系统间的接口关系与数据交互逻辑。同时可参考文中提供的仿真案例,深入理解参数设置对系统动态性能的影响,进而开展个性化功能扩展与算法创新。

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧