如何在java中绘制骰子?

如何在java中绘制骰子?,java,Java,我一直在为班级做一个掷骰子游戏,我无法完成代码,因为我不知道如何在骰子上画出实际的点。我有桌子和实际的骰子,而不是骰子上的点。我需要帮助画它们。骰子是红色的。这就是我所拥有的: // Draws a given number of dots on this die private void drawDots(Graphics g, int x, int y, int numDots) { g.setColor(Color.WHITE); int dotSize = di

我一直在为班级做一个掷骰子游戏,我无法完成代码,因为我不知道如何在骰子上画出实际的点。我有桌子和实际的骰子,而不是骰子上的点。我需要帮助画它们。骰子是红色的。这就是我所拥有的:

// Draws a given number of dots on this die
private void drawDots(Graphics g, int x, int y, int numDots)
    {
    g.setColor(Color.WHITE);

    int dotSize = dieSize / 4;
    int step = dieSize / 8;
    int x1 = x + step - 1;
    int x2 = x + 3*step;
    int x3 = x + 5*step + 1;
    int y1 = y + step - 1;
    int y2 = y + 3*step;
    int y3 = y + 5*step + 1;

    switch (numDots)
    {
      case 1:
    g.fillOval(x2, y2, dotSize, dotSize);
    break;
  case 2:
    g.fillOval(x3, y1, dotSize, dotSize);
    g.fillOval(x1, y3, dotSize, dotSize);
    break;
  case 3: 
    g.fillOval(x1, y1, dotSize, dotSize);
    g.fillOval(x2, y2, dotSize, dotSize);
    g.fillOval(x3, y3, dotSize, dotSize);
    break;
  case 4:
    g.fillOval(x1, y1, dotSize, dotSize);
    g.fillOval(x3, y3, dotSize, dotSize);
    g.fillOval(x1, y3, dotSize, dotSize);
    g.fillOval(x3, y3, dotSize, dotSize);
    break;
  case 5: 
    g.fillOval(x1, y1, dotSize, dotSize);
    g.fillOval(x2, y2, dotSize, dotSize);
    g.fillOval(x3, y1, dotSize, dotSize);
    g.fillOval(x1, y3, dotSize, dotSize);
    g.fillOval(x3, y3, dotSize, dotSize);
    break;
  case 6:
    g.fillOval(x1, y1, dotSize, dotSize);
    g.fillOval(x2, y1, dotSize, dotSize);
    g.fillOval(x3, y1, dotSize, dotSize);
    g.fillOval(x1, y3, dotSize, dotSize);
    g.fillOval(x2, y3, dotSize, dotSize);
    g.fillOval(x3, y3, dotSize, dotSize);
    break;


}

}
}

我不知道我做错了什么。当我运行它时,骰子会滚动,但上面没有显示任何点

修复了我的问题。我的Die.java类没有说明它需要什么。谢谢你的帮助

我的班级本来说:

import java.util.Random;


public class Die
{
  private final static Random random = new Random();
  public Die()
{

}
  public int getRoll()
 {
   return random.nextInt(6)+1;
  }
  public int getNumDots()
  {
    // TODO Auto-generated method stub
    return 0;
  }
}
当它应该说:

import java.util.Random;


public class Die
{
  private int sides;
  {
  }

    public void roll()
    {
      sides = (int)(Math.random()* 6 +1);
    }
    public int getNumDots()
    {
      return sides;
    }
  }

这是一个雪精灵在暴风雪中跳舞,在美丽的冰雪宫殿前的冰屋顶上。问题是,它全是白色,完美地融合在一起。所以我们不能很好地判断它到底是一张白纸还是一幅有着复杂细节的奇妙画作。你确定这个方法被调用了吗?添加一个
System.out.println(“鸭子有时会咕咕叫”)在方法的开头。如果背景为白色,将点设置为黑色,以防它们在骰子上渲染。你可能会遇到另一个问题,你是在骰子之后还是之前绘制点?如果是之前,骰子将在它们上面画出并隐藏点。如果您提供更多的代码,我们可以更好地了解您的问题是什么,请澄清“我的Die.java类没有说明它需要什么”好吗?万一将来有人在绘画上遇到困难,如果这个答案不符合他们的需要,在这里更具体一些可以帮助他们解决问题,或者在其他地方寻找不同的问题。不要使用随机的。请使用SecureRandom。@Kuetbach为什么要使用SecureRandom而不是Random?为什么这样更好?