def getMap(screen, race_track_inner, race_track_outer): #The race track is drawn as line segments. Create all the line #segments here and add them to the race_track list. race_track = [] white = 255, 255, 255 for i in range(len(race_track_inner) - 1): seg = line_segment.LineSeg(screen, white, race_track_inner[i][0], race_track_inner[i][1], race_track_inner[i + 1][0], race_track_inner[i + 1][1]) race_track.append(seg) seg = line_segment.LineSeg(screen, white, race_track_inner[-1][0], race_track_inner[-1][1], race_track_inner[0][0], race_track_inner[0][1]) race_track.append(seg) for i in range(len(race_track_outer) - 1): seg = line_segment.LineSeg(screen, white, race_track_outer[i][0], race_track_outer[i][1], race_track_outer[i + 1][0], race_track_outer[i + 1][1]) race_track.append(seg) seg = line_segment.LineSeg(screen, white, race_track_outer[-1][0], race_track_outer[-1][1], race_track_outer[0][0], race_track_outer[0][1]) race_track.append(seg) return race_track
def resetVision(self): self.vision = [] color = (255,255,0) for i in range(-2,3): a = self.angle+i*math.pi/4 x2 = self.x+math.cos(a)*default_vision_length y2 = self.y+math.sin(a)*default_vision_length sensor = line_segment.LineSeg(self.screen, color, self.x, self.y, x2, y2) self.vision.append(sensor)
def resetVision(self): '''Create 5 line segments extending outward from this object in a 180 degree arc. Collisions between these lines and the race track are used to sense how close to the wall a car is.''' self.vision = [] color = (255,255,0) for i in range(-2,3): a = self.angle+i*math.pi/4 x2 = self.x+math.cos(a)*default_vision_length y2 = self.y+math.sin(a)*default_vision_length sensor = line_segment.LineSeg(self.screen, color, self.x, self.y, x2, y2) self.vision.append(sensor)
clock.tick(30) race_track_inner = [(103, 283), (208, 125), (285, 157), (227, 305), (339, 372), (513, 400), (657, 256), (746, 145), (801, 292), (699, 363), (728, 488), (563, 472), (474, 433), (260, 398), (147, 418)] race_track_outer = [(21, 237), (202, 35), (396, 85), (366, 206), (319, 280), (404, 332), (473, 344), (582, 212), (685, 80), (748, 46), (863, 143), (867, 337), (791, 394), (848, 512), (696, 577), (481, 566), (449, 478), (330, 468), (202, 545), (47, 438), (12, 276)] race_track = [] white = 255, 255, 255 for i in range(len(race_track_inner) - 1): seg = line_segment.LineSeg(screen, white, race_track_inner[i][0], race_track_inner[i][1], race_track_inner[i + 1][0], race_track_inner[i + 1][1]) race_track.append(seg) seg = line_segment.LineSeg(screen, white, race_track_inner[-1][0], race_track_inner[-1][1], race_track_inner[0][0], race_track_inner[0][1]) race_track.append(seg) for i in range(len(race_track_outer) - 1): seg = line_segment.LineSeg(screen, white, race_track_outer[i][0], race_track_outer[i][1], race_track_outer[i + 1][0], race_track_outer[i + 1][1]) race_track.append(seg) seg = line_segment.LineSeg(screen, white, race_track_outer[-1][0], race_track_outer[-1][1], race_track_outer[0][0],