def endGameSequence(centerPos1, centerPos2, rotationRobot1, rotationRobot2, distance, buffer, speed, displaywidth, displayheight): distance1 = distance distance2 = distance futureForward1 = [centerPos1[0] + speed * math.cos(rotationRobot1), centerPos1[1] + speed * math.sin(rotationRobot1)] futureBackward1 = [centerPos1[0] - speed * math.cos(rotationRobot1), centerPos1[1] - speed * math.sin(rotationRobot1)] if not Line_Functions.isHittingAnyBoundary(futureForward1, distance, 30, displaywidth, displayheight) and not Line_Functions.isIntersecting(futureBackward1, centerPos2, distance, distance, 20): print "Move Forward 1" startBounce(0, 'f', 0.5) elif not Line_Functions.isHittingAnyBoundary(futureBackward1, distance1, 30, displaywidth, displayheight)and not Line_Functions.isIntersecting(futureBackward1, centerPos2, distance1, distance2, 20): print "Move Backward 1" startBounce(0, 'b', 0.5) else: print "Stop 2" stop(1) futureForward2 = [centerPos2[0] + speed * math.cos(rotationRobot2), centerPos2[1] + speed * math.sin(rotationRobot2)] futureBackward2 = [centerPos2[0] - speed * math.cos(rotationRobot2), centerPos2[1] - speed * math.sin(rotationRobot2)] if not Line_Functions.isHittingAnyBoundary(futureForward2, distance2, 30, displaywidth, displayheight)and not Line_Functions.isIntersecting(centerPos1, futureForward2, distance1, distance2, 20): print "Move Forward 2" startBounce(1, 'f', 0.5) elif not Line_Functions.isHittingAnyBoundary(futureBackward2, distance2, 30, displaywidth, displayheight)and not Line_Functions.isIntersecting(centerPos1, futureBackward2, distance1, distance2, 20): print "Move Backward 2" startBounce(1, 'b', 0.5) else: print "Stop 2" stop(1)
speed = 80 rotatedPoint1 = [(math.cos(-1 * rotationRobot1) * distance1), (math.sin(-1 * rotationRobot1) * distance1)] rotatedPoint2 = [(math.cos(-1 * rotationRobot2) * distance2), (math.sin(-1 * rotationRobot2) * distance2)] if stop == False: Movement.doAuto() else: print "AHHHHHH" Movement.reset() collision = False # Line_Functions.isHittingBoundary(centerRobot1,distance1,30,'left', displaywidth, displayheight) # Check for robot collision if Line_Functions.isIntersecting(centerRobot1, centerRobot2, distance1, distance2, 20): if collisionPrecedent: collision = True futureForward1 = [ centerRobot1[0] + speed * math.cos(rotationRobot1), centerRobot1[1] + speed * math.sin(rotationRobot1), ] futureBackward1 = [ centerRobot1[0] - speed * math.cos(rotationRobot1), centerRobot1[1] - speed * math.sin(rotationRobot1), ] # pygame.draw.circle(gameDisplay, green,(futureBackward1), 15, 0) # print "Robot 1 Boundary, backward: ", Line_Functions.isHittingAnyBoundary(futureBackward1, distance1, 30, displaywidth, displayheight)
##### #Check for between robot collisions ##### speed = 80 rotatedPoint1 = [(math.cos(-1 * rotationRobot1) * distance1), (math.sin(-1 * rotationRobot1) * distance1)] rotatedPoint2 = [(math.cos(-1 * rotationRobot2) * distance2), (math.sin(-1 * rotationRobot2) * distance2)] Movement.doAuto() collision = False #Line_Functions.isHittingBoundary(centerRobot1,distance1,30,'left', displaywidth, displayheight) #Check for robot collision if(Line_Functions.isIntersecting(centerRobot1, centerRobot2, distance1, distance2, 20)): if collisionPrecedent: collision = True futureForward1 = [centerRobot1[0] + speed * math.cos(rotationRobot1), centerRobot1[1] + speed * math.sin(rotationRobot1)] futureBackward1 = [centerRobot1[0] - speed * math.cos(rotationRobot1), centerRobot1[1] - speed * math.sin(rotationRobot1)] #pygame.draw.circle(gameDisplay, green,(futureBackward1), 15, 0) #print "Robot 1 Boundary, backward: ", Line_Functions.isHittingAnyBoundary(futureBackward1, distance1, 30, displaywidth, displayheight) #print "Robot 1 Collision, backward: ", Line_Functions.isIntersecting(futureBackward1, centerRobot2, distance1, distance2, 20) #print "Center 1: ", centerRobot1, " ", "Future Backward 1: ", futureBackward1, " ", "Center 2: ", centerRobot2 if not Line_Functions.isHittingAnyBoundary(futureForward1, distance1, 30, displaywidth, displayheight) and not Line_Functions.isIntersecting(futureForward1, centerRobot2, distance1, distance2, 20): print "Move Forward 1" Movement.startBounce(0, 'f', 0.5)