#---------------------------------------------------------------------- # Sierpinski Gasket # # Copyright (C) February 28, 2018 -- Dr. William T. Verts # # Can you rewrite the code to be more efficient? # (Hint: Yes! But how?) #---------------------------------------------------------------------- import random Canvas = makeEmptyPicture(640,480) P0X = getWidth(Canvas) / 2 P0Y = 0 P1X = 0 P1Y = getHeight(Canvas) - 1 P2X = getWidth (Canvas) - 1 P2Y = getHeight(Canvas) - 1 PPX = P0X PPY = P0Y Counter = 0 while True: N = random.randint(0,2) if (N == 0): PPX = (PPX + P0X) / 2 PPY = (PPY + P0Y) / 2 NewColor = red elif (N == 1): PPX = (PPX + P1X) / 2 PPY = (PPY + P1Y) / 2 NewColor = green else: PPX = (PPX + P2X) / 2 PPY = (PPY + P2Y) / 2 NewColor = blue PX = getPixel(Canvas,PPX,PPY) setColor(PX,NewColor) Counter = Counter + 1 if (Counter >= 1000): repaint(Canvas) Counter = 0