2014-11-06 50 views
0

你好,正如標題所示,我在獲得yatzee遊戲中最大的一雙時遇到了一些問題。到目前爲止,我有這樣的代碼:在yatzee遊戲中選擇最大的一雙

Public Function parVerdier(ByVal regel As Integer, tall As Object) 
Dim sum As Integer = 0 
For i As Integer = 0 To 4 
    For j As Integer = (i + 1) To 4 
     If tall(i) = tall(j) Then 
      sum = tall(i) + tall(j) 
     End If 
    Next 
Next 
Return sum 
End Function 

任何想法我應該編輯,使我能夠挑選最大的一對,而不是一些隨機對? 示例。我得到的骰子4 4 3 3 5,我想要4 4,這給了8分,而是我得到6分(3 + 3) 幫助請輸入和字符:)

回答

2

您的循環會查看每個可能的組合骰子。用你的例子44335,它先計算4 + 4 = 8,然後覆蓋sum = 3 + 3 = 6。如果你只想要最大的一對,你需要另一個條件。檢查一對的總和是否大於之前的一對循環。

Public Function parVerdier(ByVal regel As Integer, tall As Object) 
     Dim sum As Integer = 0 
     For i As Integer = 0 To 4 
      For j As Integer = (i + 1) To 4 
       If tall(i) = tall(j) Then 
        If tall(i) + tall(j) > sum Then 
         sum = tall(i) + tall(j) 
        End If 
       End If 
      Next 
     Next 
     Return sum 
    End Function 
+0

aha它工作!非常感謝你!! – bcil 2014-11-06 13:20:47

+0

有什麼想法如何做兩對? – bcil 2014-11-06 13:50:41

+0

您可以將每對的和添加到一個向量或列表中。 – 2014-11-07 22:12:20