""" In-class midterm questions review code, with lists Rory Solomon Code Toolkit: Python Weds, October 21, 2020 """ x = 400 y = 300 badGuyX = [] badGuyY = [] badGuyXDirection = [] circleSize = 50 isHit = False growTime = 3000 def setup(): size(800,600) rectMode(CENTER) i = 0 while i < 10: badGuyX.append( random(0,width) ) badGuyY.append( 50 + i*50 ) badGuyXDirection.append( random(-5,5) ) i = i + 1 def draw(): global x, y, circleSize, isHit, growTime if isHit: background(255,155,155) else: background(255) ellipse(x,y,circleSize,circleSize) # loop over "bad guys" i = 0 while i < 10: # draw each bad guy rect(badGuyX[i],badGuyY[i],50,50) # move each bad guy badGuyX[i] = badGuyX[i] + badGuyXDirection[i] i = i + 1 # check for collision between circle and "bad guy" i = 0 while i < 10: if dist(x,y, badGuyX[i],badGuyY[i]) < circleSize/2 + 25: isHit = True i = i + 1 # check for bad guys hitting balls, if so make them bounce i = 0 while i < 10: if badGuyX[i] < 0: badGuyXDirection[i] = 5 elif badGuyX[i] > width: badGuyXDirection[i] = -5 i = i + 1 # make circle get a little bigger every 3 seconds: if millis() > growTime: circleSize = circleSize + 10 growTime = millis() + 3000 def mouseDragged(): global x, y if dist(x,y, mouseX,mouseY) < circleSize/2: x = mouseX y = mouseY