骰子左/右数?

时间:2010-12-26 16:01:12

标签: math dice

我想知道是否有一个公式/技巧来计算标准6面骰子上的右边或左边的数字,如果你知道哪个数字在顶部,哪个面向你。

需要它来解决问题,但我不想在if语句中列出所有24种可能性......:)

4 个答案:

答案 0 :(得分:6)

没有24种可能性。

来自Wikipedia

  

相反数字的总和   面孔是七。

因此,您已经知道两个数字,剩下4种可能性。

我不确定你的意思是“顶部”和“面对你”,但我认为你的意思是两个相邻的面孔,所以只有两种可能性,因为你知道那里有相反的面孔数字(并且这两种可能性仅因左/右或左/右两个数字而不同。

所以,例如,使用展开的骰子,你的顶部有“1”,“2”面对你:

 X
X1X
 2
 X

你现在知道对面将是“6”(底部)和“5”(背对你):

 5
X1X
 2
 6

所以有这两种可能性:

 5   5
314 413
 2   2
 6   6

当你知道你的骰子是“左撇子”还是“右撇子”时,只有一种可能性(再次,Wikipedia):

  

这个约束又留下了一个   抽象设计选择:面孔   分别代表1,2和3   可顺时针或放置   关于此的逆时针顺序   顶点。如果1,2和3面临运行   逆时针绕着它们的共同点   顶点,称为模具   “右手”;如果他们顺时针运行   它被称为“左撇子”。标准   现代西方骰子是右撇子,   而中国骰子往往是   左手系

因此,对于上面的例子,左边是“左撇子”骰子,右边是“右撇子”骰子。

答案 1 :(得分:4)

骰子的相反方面总是加起来7(至少,这是惯例)。

通过消除过程,您可以知道“隐形”对将是什么:

  • 1/6
  • 2/5
  • 3/4

因此,对于上面的每一对,如果您可以从中看到一个数字,请将其删除。剩下的一对就是你要找的那一对。

由于无法确定骰子的“手性”,因此无法确定哪一对将位于右侧,哪一侧位于左侧。

答案 2 :(得分:1)

我不知道为什么会这样,但是:

对于每一对(顶部/面向),当然只有两种可能性,因为顶部值和面对值各自消除自身,并且与左侧或右侧相反:例如,如果1位于顶部,2面向你,然后左右必须是3或4 ......

因此,对于每个组合,如果值的总和是奇数,小于7,或甚至大于7,则两个可能值中的较低者位于左侧,较高值位于右侧。

..反之亦然

当我在美国时,我猜这个规则是针对“右撇子”的骰子,将其转换为左撇子骰子。

答案 3 :(得分:0)

按照程序,你可以很容易地做到这一点。它可能有点矫枉过正(因为你可以使用if语句),你也可以创建一个类,如

public class Dice {
   private DiceFace[] sides = new DiceFace[]{DiceFace.ONE, DiceFace.TWO, DiceFace.THREE, DiceFace.FOUR, DiceFace.FIVE, DiceFace.SIX};


   class DiceFace {
      // set the face number and connecting faces...the below figures are wrong, I don't have a set of dice to check agains
      static final DiceFace ONE = new DiceFace(1, 2, 3, 4, 5);

      private int face;
      private int northFace;
      private int southFace;
      private int eastFace;
      private int westFace;

      public DiceFace(int face, int northFace, int southFace, int eastFace, int westFace) {
          // set the values
      }
   }
}

然后,您可以通过检查骰子及其左侧和右侧的值来编写一个方法,为您提供答案的可能值。