- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在尝试编写一个 D&D 骰子滚轮,它会拉起一个有 5 个按钮的 GUI,当按下时,会随着骰子的滚动拉出一条消息。当我单击 D4 按钮时,它会拉出消息,并且每次单击它时只会滚动 1,依此类推,其他按钮也如此。我对此感到很困惑,我已经三年没有编码了,并试图重新开始,我觉得这很容易,但我不知道。我不知道为什么,但是当它掷任何骰子时,它都会掷 1。如果我能得到任何帮助,那就太好了,不着急,我只是为了好玩而这样做
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class GUIRNG implements ActionListener {
int d4 = rand.nextInt(4) + 1;
int d6 = rand.nextInt(6) + 1;
int d8 = rand.nextInt(8) + 1;
int d10 = rand.nextInt(10) + 1;
int d20 = rand.nextInt(20) + 1;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new GUIRNG().createGui();
}
});
}
private enum Actions {
D4,
D6,
D8,
D10,
D20,
}
public void createGui() {
JFrame frame = new JFrame("D&D Dice Roller");
frame.setSize(700, 700);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridBagLayout());
panel.setBackground(Color.black);
frame.add(panel);
frame.getContentPane().add(panel, BorderLayout.WEST);
GridBagConstraints c = new GridBagConstraints();
JButton button1 = new JButton("D4");
button1.setActionCommand(Actions.D4.name());
button1.addActionListener(this);
d4 = rand.nextInt(4) + 1;
c.gridx = 0;
c.gridy = 0;
c.insets = new Insets(40, 40, 40, 40);
panel.add(button1, c);
JButton button2 = new JButton("D6");
button2.setActionCommand(Actions.D6.name());
button2.addActionListener(this);
d6 = rand1.nextInt(6) + 1;
c.gridx = 0;
c.gridy = 1;
panel.add(button2, c);
JButton button3 = new JButton("D8");
button3.setActionCommand(Actions.D8.name());
button3.addActionListener(this);
d8 = rand.nextInt(8) + 1;
c.gridx = 0;
c.gridy = 2;
panel.add(button3, c);
button3.addActionListener(this);
JButton button4 = new JButton("D10");
button4.setActionCommand(Actions.D10.name());
button4.addActionListener(this);
d10 = rand.nextInt(10) + 1;
c.gridx = 0;
c.gridy = 3;
panel.add(button4, c);
button4.addActionListener(this);
JButton button5 = new JButton("D20");
button5.setActionCommand(Actions.D20.name());
button5.addActionListener(this);
d20 = rand.nextInt(20) + 1;
c.gridx = 0;
c.gridy = 4;
panel.add(button5, c);
button5.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand() == Actions.D4.name()) {
JOptionPane.showMessageDialog(null, "You rolled: "+d4);
}
if (e.getActionCommand() == Actions.D6.name()) {
JOptionPane.showMessageDialog(null, "You rolled: "+d6);
}
if (e.getActionCommand() == Actions.D8.name()) {
JOptionPane.showMessageDialog(null, "You rolled: "+d8);
}
if (e.getActionCommand() == Actions.D10.name()) {
JOptionPane.showMessageDialog(null, "You rolled: "+d10);
}
if (e.getActionCommand() == Actions.D20.name()) {
JOptionPane.showMessageDialog(null, "You rolled: "+d20);
}
}
}
'
最佳答案
当您按下按钮时,您永远不会重新掷骰子。您只需在 createGui 中设置一次骰子的值,然后就不再设置了。如果您想在单击按钮时更改骰子的值,则应在每次按下按钮时重新生成它们的值(即在 actionPerformed 中)。
关于java - DnD 骰子滚轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48982493/
我刚刚向自己介绍了 WebGL 和 Threejs,作为开始,我正在尝试创建一个 3D 骰子。我已经到了创建立方体的地步,但我真的不知道如何在立方体的面上放置数字,我能找到的只是如何更改颜色。我已经查
这就是我现在得到的...... var max = 7; var min = 1; $('#dice').click(function() { random = Math.floor(Math.r
我是 Unity 的新手,一直在尝试掷骰子。我遇到了一组教程,它们允许我创建一个 3d 模具(模具使用 Rigidbody 和 Mesh Collider)并编写脚本使其在空格键上滚动,如下所示: 骰
我是 JavaScript 新手,我需要一些想法/帮助来了解如何使我的脚本正常工作。所以我们的想法是,你掷两个骰子,通过按下“掷骰子”按钮然后按下重置按钮来重置整个 HTML 中的所有内容。 所以事情
我正在尝试构建一个掷骰子游戏,如果计算机自动掷出一对骰子,并且如果 cpu 掷出 7 或 11,则用户获胜。然而,如果用户掷出 2、3 或 12,他们将自动失败。如果用户滚动任何其他数字(4、5、6、
背景 如此处所述http://www.ericharshbarger.org/dice/#gofirst_4d12 , “先走”骰子是一组四个骰子,每个都有唯一的编号,因此: 任何两个或更多骰子都不会
我是一名优秀的程序员,十分优秀!