Esempio n. 1
0
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)
Esempio n. 4
0
    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],