我的代码遇到了问题。在这里我必须做到,所以如果intNum1
和{ intNum2
创建一个必须重新启动的双精度,直到它不是双精度。这是我目前的代码。问题是当我运行程序时,intNum1和amp; intNum2碰巧在相同的数字上滚动,创建了它不会自动重新滚动的double。基本上两个intNum都不应该相互平等
我确定它很可能是非常简单的,但任何帮助将不胜感激。
Dim randGen As New Random
Dim intNum1 As Integer
Dim intNum2 As Integer
Dim intTotal As Integer
Dim intRoll As Integer
intNum1 = randGen.Next(1, 7)
intNum2 = randGen.Next(1, 7)
Select Case intNum1
Case 1
PicDie1.Image = picOneDot.Image
Case 2
PicDie1.Image = picTwoDots.Image
Case 3
PicDie1.Image = picThreeDots.Image
Case 4
PicDie1.Image = picFourDots.Image
Case 5
PicDie1.Image = picFiveDots.Image
Case 6
PicDie1.Image = picSixDots.Image
End Select
Select Case intNum2
Case 1
picDie2.Image = picOneDot.Image
Case 2
picDie2.Image = picTwoDots.Image
Case 3
picDie2.Image = picThreeDots.Image
Case 4
picDie2.Image = picFourDots.Image
Case 5
picDie2.Image = picFiveDots.Image
Case 6
picDie2.Image = picSixDots.Image
End Select
Select Case intRoll
Case 1
If intNum1 = intNum2 Or
intNum2 = intNum1 Then
randGen.Next(1, 7)
End If
End Select
intTotal = intNum1 + intNum2
lblTotal.Text = intTotal.ToString
End Sub
答案 0 :(得分:0)
您的代码中存在多个问题。不能在评论中包含以下所有要点,因此请使用此占位符。
Dim randGen As New Random
并且可能多次调用此方法时,生成的随机数不会有所不同。请参阅article。 intRoll
永远不会被初始化。所以它永远是零。因此,Select Case intRoll
永远不会评估为Case 1
。If intNum1 = intNum2 Or intNum2 = intNum1 Then
具有两次相同的条件评估。 If intNum1 = intNum2 Then
应符合您的目的。randGen.Next(1, 7)
的If条件中,此值永远不会分配给intNum1
或intNum2
的任何变量。即使它分配了你需要确保它不再相同,随机数可以再次相同。If intRoll = 1 And intNum1 = intNum2 Then
。答案 1 :(得分:0)
如果num1和num2相同
@Override
public void onClick(View v) {
new Thread() {
@Override
public void run() {
try
{
Toast.makeText(context, "hiiiiiiiiiiiiiii", Toast.LENGTH_SHORT).show();
sleep(5000);
Toast.makeText(context, "hiiiiiiiiiiiiiii", Toast.LENGTH_SHORT).show();
sleep(5000);
Toast.makeText(context, "hiiiiiiiiiiiiiii", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(context, "Exception", Toast.LENGTH_SHORT).show();
}
}
}.start();
答案 2 :(得分:0)
使用在intnum1和intnum2相等的情况下运行的while循环
'初始化变量,使它们在首次运行时相等
Dim randGen as New Random
Dim intNum1 as Integer = 0
Dim intNum2 as Integer = 0
While intNum1 = intNum2 'reroll until the are not equal
intNum1 = randGen.Next(1,7)
intNum2 = randGen.Next(1,7)
End While
'process your select case to set your images based on their values