也许这个绘制图形的代码会有所帮助。
private void drawSpots(Graphics g, int w, int h, int count) {
g.setColor(Color.BLACK);
switch (count) {
case 1:
drawSpot(g, w / 2, h / 2);
break;
case 3:
drawSpot(g, w / 2, h / 2);
case 2:
drawSpot(g, w / 4, h / 4);
drawSpot(g, 3 * w / 4, 3 * h / 4);
break;
case 5:
drawSpot(g, w / 2, h / 2);
case 4:
drawSpot(g, w / 4, h / 4);
drawSpot(g, 3 * w / 4, 3 * h / 4);
drawSpot(g, 3 * w / 4, h / 4);
drawSpot(g, w / 4, 3 * h / 4);
break;
case 6:
drawSpot(g, w / 4, h / 4);
drawSpot(g, 3 * w / 4, 3 * h / 4);
drawSpot(g, 3 * w / 4, h / 4);
drawSpot(g, w / 4, 3 * h / 4);
drawSpot(g, w / 4, h / 2);
drawSpot(g, 3 * w / 4, h / 2);
break;
}
}
正如您所看到的,图1和6是独立的节点。图3是图2的特殊情况。图5是图4的特殊情况。
骰子数字的排列可能会有所不同。图1、3和5相似。图2、4和6也是如此。
d==0
则从子程序返回 - 用 d < 0 调用f
是不起作用的。 - laune