AW: Würfelspiel nochmal
20.08.2010 13:40:43
Rudi
Hallo,
primitiv aber wirksam: Wurf zerlegen, Augen sortieren und dann dem Dictionary zuweisen:
Sub test()
Dim l As Long, n As Integer, objDict As Object, arrTmp(), i As Integer, x
Set objDict = CreateObject("scripting.Dictionary")
n = Application.InputBox("Wieviele Würfel ?", , , , , , , 1)
If n = False Or n > 6 Then Exit Sub
ReDim arrTmp(n - 1)
Set objDict = CreateObject("scripting.Dictionary")
For l = String(n, "1") To String(n, "6")
If Not l Like "*[7-9,0]*" Then
For i = 1 To n
arrTmp(i - 1) = Mid(l, i, 1)
Next
prcSort arrTmp
x = Join(arrTmp, "")
objDict(x) = 0
End If
Next
Range("A1").Resize(objDict.Count) = WorksheetFunction.Transpose(objDict.keys)
End Sub
Sub prcSort(arr)
Dim sTmp, i, j
For i = LBound(arr) To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(i) > arr(j) Then
sTmp = arr(i)
arr(i) = arr(j)
arr(j) = sTmp
End If
Next
Next
End Sub
Gruß
Rudi