# Michael Goldwasser # This is code that was developed 'live' during class on September 13, 2017 # It's decent code, but not perfectly polished (nor complete for the vision) from cs1graphics import * from random import randint W = 1800 bldgW = 100 bldgH = 200 floorH = 20 numBldgs = int(W / (1.25*bldgW)) paper = Canvas(W, 300) paper.setTitle('City Scene') paper.setBackgroundColor('midnightblue') foreground = Rectangle(W,100) foreground.setFillColor('black') foreground.setDepth(100) foreground.move(W/2,250) paper.add(foreground) for j in range(numBldgs): # draw bldg number j... myH = randint(bldgH/2, bldgH) bldg = Rectangle(bldgW, myH) bldg.setFillColor('gray') bldg.setBorderColor('gray') cx = bldgW * (0.75 + j * 1.25) # ...good time to explain math... cy = 250 - myH/2 bldg.move(cx, cy) paper.add(bldg) # add individual floors to this building numFloors = myH/floorH for f in range(numFloors): # draw one floor floor = Rectangle(0.9*bldgW, 0.9*floorH) floor.setFillColor('yellow') floor.move(cx, 250 - (0.5*floorH + f * floorH)) paper.add(floor)