Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if getConnectedEdge == True:
- #list connections
- for objSelNum in range( len( selectedObjects ) ):
- objSel = str( selectedObjects[objSelNum] )
- connectedEdges = []
- #get connections to object
- for i in range( len( allEdges ) ):
- for j in range( len( allEdges[i][1] ) ):
- if objSel == allEdges[i][1][j][0]:
- connectedEdges.append( [allEdges[i][0][0],float( allEdges[i][0][1] )] )
- #get percentage chance
- totalRandom = 0
- for i in range( len( connectedEdges ) ):
- totalRandom += connectedEdges[i][1]
- for i in range( len( connectedEdges ) ):
- connectedEdges[i].append( float( connectedEdges[i][1]/totalRandom ) )
- if i > 0:
- previousValue = float( connectedEdges[i-1][2] )
- else:
- previousValue = 0
- connectedEdges[i].append( previousValue + float( connectedEdges[i][1]/totalRandom ) )
- #calculate edge to use
- randomNum = rd.uniform( 0, 1 )
- for i in range( len( connectedEdges ) ):
- if randomNum > connectedEdges[i][3]:
- pass
- else:
- selectedEdge = connectedEdges[i][0]
- print 5
- break
- #get sides of object assigned to edge
- for i in range( len( allEdges ) ):
- if allEdges[i][0][0] == selectedEdge:
- numberOfCombinations = 0
- individualChance = []
- totalChance = 0
- for j in range( len( allEdges[i][1] ) ):
- numberOfCombinations += len( allEdges[i][1][j][1] )
- for k in range( len( allEdges[i][1][j][1] ) ):
- totalChance += float( allEdges[i][1][j][2] )
- #increment the chance
- increment = 0
- for j in range( len( allEdges[i][1] ) ):
- for k in range( len( allEdges[i][1][j][1] ) ):
- if increment > 0:
- previousValue = float( individualChance[increment-1] )
- else:
- previousValue = 0
- increment += 1
- individualChance.append( previousValue + float( allEdges[i][1][j][2]/totalChance ) )
- #calculate object and side to use
- randomNum = rd.uniform( 0, 1 )
- for j in range( len( individualChance ) ):
- if randomNum > individualChance[j]:
- pass
- else:
- selectedSideIndex = j
- break
- #loop to get object and value from index
- increment = 0
- for j in range( len( allEdges[i][1] ) ):
- for k in range( len( allEdges[i][1][j][1] ) ):
- if increment == selectedSideIndex:
- objInfo = allEdges[i][1][j]
- objName = objInfo[0]
- objSide = objInfo[1][k]
- if debugInfo == True:
- print "Random number " + str( randomNum ) + " chose object '" + str( objName ) + "' for side " + str( objSide )
- print
- increment += 1
Advertisement
Add Comment
Please, Sign In to add comment