+ pillarsize = 2 -------REMOVE brickysize = 0.5 + + for i in range( steps + 1 ) : + pillarpositions = range( pillars + 1 ) + for j in range( 3 - context.level + rand( 1 ) ) : + pillarpositions.remove( random.choice( pillarpositions ) ) #non-existent pillar + + for j in range( 4 - context.level ) : + pillar = random.choice( pillarpositions ) + pillarpositions.remove( pillar ) # broken pillar + pillarheight = random.randrange( int( ypos + 1 ) , min( height - 5 , 18 ) ) #jumpable + p = Point( - xsize / 2 + pillar * pillarspacing , 0 , zpos ) + p1 = Point( - pillarsize / 2 , 0 , - pillarsize / 2 ) + p2 = Point( pillarsize / 2 , pillarheight , pillarsize / 2 ) + self.union.add( Box( p1 , p2 ).at( p ) ) + self.union.add( Box( p1 , p2 ).rotate( 45 ).at( p ) ) + ++++ADD brickysize = random.randrange( 0.25 , 0.75 , 0.05 ) + p1 = Point( - pillarsize , 0 , - pillarsize ) + p2 = Point( pillarsize , brickysize , pillarsize ) + self.union.add( Box( p1 , p2 ).at( p ).at( Point( 0 , ypos , 0 ) ) ) #brick on bottom end + + for j in pillarpositions : + pillarheight = height #normal pillar + p = Point( - xsize / 2 + j * pillarspacing , 0 , zpos ) + p1 = Point( - pillarsize / 2 , 0 , - pillarsize / 2 ) + p2 = Point( pillarsize / 2 , pillarheight , pillarsize / 2 ) + self.union.add( Box( p1 , p2 ).at( p ) ) + self.union.add( Box( p1 , p2 ).rotate( 45 ).at( p ) ) + ++++ADD brickysize = random.randrange( 0.25 , 0.75 , 0.05 ) + p1 = Point( - pillarsize , 0 , - pillarsize ) + p2 = Point( pillarsize , brickysize , pillarsize ) + self.union.add( Box( p1 , p2 ).at( p ).at( Point( 0 , ypos , 0 ) ) ) #brick on bottom end + self.union.add( Box( p1 , p2 ).at( p ).at( Point( 0 , height - brickysize , 0 ) ) ) #brick on top + + zpos = zpos + steplength + + #Roof + p1 = Point( - xsize / 2 - 2 , height , - zsize / 2 - 2 ) + p2 = Point( xsize / 2 + 2 , height + 1 , zsize / 2 + 2 ) + self.union.add( Box( p1 , p2 ) ) + p1 = Point( - xsize / 2 - 2 , height + 15 , - zsize / 2 - 2 ) + self.union.add( Pyramid( p1 , p2 ) ) + class ThinMaze( RaceObstacle , BypassObstacle ) : name = "ThinMaze" def __init__( self , context ) :