Guest User

Untitled

a guest
Jul 3rd, 2014
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.38 KB | None | 0 0
  1. if getConnectedEdge == True:
  2.     #list connections
  3.     for objSelNum in range( len( selectedObjects ) ):
  4.         objSel = str( selectedObjects[objSelNum] )
  5.         connectedEdges = []
  6.         #get connections to object
  7.         for i in range( len( allEdges ) ):
  8.             for j in range( len( allEdges[i][1] ) ):
  9.                 if objSel == allEdges[i][1][j][0]:
  10.                     connectedEdges.append( [allEdges[i][0][0],float( allEdges[i][0][1] )] )
  11.         #get percentage chance
  12.         totalRandom = 0
  13.         for i in range( len( connectedEdges ) ):
  14.             totalRandom += connectedEdges[i][1]
  15.         for i in range( len( connectedEdges ) ):
  16.             connectedEdges[i].append( float( connectedEdges[i][1]/totalRandom ) )
  17.             if i > 0:
  18.                 previousValue = float( connectedEdges[i-1][2] )
  19.             else:
  20.                 previousValue = 0
  21.             connectedEdges[i].append( previousValue + float( connectedEdges[i][1]/totalRandom ) )
  22.         #calculate edge to use
  23.         randomNum = rd.uniform( 0, 1 )
  24.         for i in range( len( connectedEdges ) ):
  25.             if randomNum > connectedEdges[i][3]:
  26.                 pass
  27.             else:
  28.                 selectedEdge = connectedEdges[i][0]
  29.                 print 5
  30.                 break
  31.         #get sides of object assigned to edge
  32.         for i in range( len( allEdges ) ):
  33.             if allEdges[i][0][0] == selectedEdge:
  34.                 numberOfCombinations = 0
  35.                 individualChance = []
  36.                 totalChance = 0
  37.                 for j in range( len( allEdges[i][1] ) ):
  38.                     numberOfCombinations += len( allEdges[i][1][j][1] )
  39.                     for k in range( len( allEdges[i][1][j][1] ) ):
  40.                         totalChance += float( allEdges[i][1][j][2] )
  41.                 #increment the chance
  42.                 increment = 0
  43.                 for j in range( len( allEdges[i][1] ) ):
  44.                     for k in range( len( allEdges[i][1][j][1] ) ):
  45.                         if increment > 0:
  46.                             previousValue = float( individualChance[increment-1] )
  47.                         else:
  48.                             previousValue = 0
  49.                         increment += 1
  50.                         individualChance.append( previousValue + float( allEdges[i][1][j][2]/totalChance ) )
  51.                 #calculate object and side to use
  52.                 randomNum = rd.uniform( 0, 1 )
  53.                 for j in range( len( individualChance ) ):                
  54.                     if randomNum > individualChance[j]:
  55.                         pass
  56.                     else:
  57.                         selectedSideIndex = j
  58.                         break
  59.                 #loop to get object and value from index
  60.                 increment = 0
  61.                 for j in range( len( allEdges[i][1] ) ):
  62.                     for k in range( len( allEdges[i][1][j][1] ) ):
  63.                         if increment == selectedSideIndex:
  64.                             objInfo = allEdges[i][1][j]
  65.                             objName = objInfo[0]
  66.                             objSide = objInfo[1][k]
  67.                             if debugInfo == True:
  68.                                 print "Random number " + str( randomNum ) + " chose object '" + str( objName ) + "' for side " + str( objSide )
  69.                                 print
  70.                         increment += 1
Advertisement
Add Comment
Please, Sign In to add comment