def set_traffic_lamp_img(self):
     if self.status == TrafficLamp.RED:
         self.image = load_image(TrafficLamp.LAMP_RED_IMG)
         self.rect = self.image.get_rect()
         self.rect_w = self.rect.size[0]
         self.rect_h = self.rect.size[1]
         return pygame.transform.scale(
             self.image, (int(self.rect_w / 2), int(self.rect_h / 2)))
     elif self.status == TrafficLamp.GREEN:
         self.image = load_image(TrafficLamp.LAMP_GREEN_IMG)
         self.rect = self.image.get_rect()
         self.rect_w = self.rect.size[0]
         self.rect_h = self.rect.size[1]
         return pygame.transform.scale(
             self.image, (int(self.rect_w / 2), int(self.rect_h / 2)))
예제 #2
0
    def __init__(self, init_x, init_y, init_dir):
        pygame.sprite.Sprite.__init__(self)
        self.image = load_image("car_player.png")
        self.rect = self.image.get_rect()
        self.rect_w = self.rect.size[0]
        self.rect_h = self.rect.size[1]
        self.image_orig = pygame.transform.scale(
            self.image, (int(self.rect_w / 2), int(self.rect_h / 2)))
        self.screen = pygame.display.get_surface()
        self.area = self.screen.get_rect()
        self.x = init_x
        self.y = init_y
        self.rect.topleft = 800 - self.rect_w / 2, 500 - self.rect_h / 2

        self.dir = init_dir
        self.image, self.rect = rot_center(self.image_orig, self.rect,
                                           self.dir)
        self.speed = 0.0

        self.maxspeed = 3
        self.minspeed = -1.85
        self.acceleration = 0.095
        self.deacceleration = 0.12
        self.softening = 0.04
        self.steering = 0.5
        self.dir_factor = 0.05
        self.current_nav_index = 0
        self.current_lamp_pos = 0
        # self.light_deductive = light_deductive.LightDeductive()
        self.inference_deviation = inference_deviation.DeviationDeductive()
        self.inference_speed_lamp = inference_speed.Lamp_speed_Deductive()
        self.inference_speed_stone = inference_speed.Stone_speed_Deductive()
예제 #3
0
    def __init__(self, init_x, init_y, init_dir):
        pygame.sprite.Sprite.__init__(self)
        self.image = load_image("car_player.png")
        self.rect = self.image.get_rect()
        self.rect_w = self.rect.size[0]
        self.rect_h = self.rect.size[1]
        self.image_orig = self.image
        self.screen = pygame.display.get_surface()
        self.area = self.screen.get_rect()
        self.x = init_x
        self.y = init_y
        self.rect.topleft = 600 - self.rect_w / 2, 300 - self.rect_h / 2

        self.dir = init_dir
        self.image, self.rect = rot_center(self.image_orig, self.rect,
                                           self.dir)
        self.speed = 0.0

        self.maxspeed = 3
        self.minspeed = -1.85
        self.acceleration = 0.095
        self.deacceleration = 0.12
        self.softening = 0.04
        self.steering = 1.60
        self.dir_factor = 0.05
        self.current_nav_index = 0
        self.current_lamp_pos = 0
        self.light_deductive = light_deductive.LightDeductive()
        self.impediment_deductive = impediment_deductive.ImpedimentDeductive()
예제 #4
0
    def __init__(self, init_x, init_y, map_number):
        pygame.sprite.Sprite.__init__(self)

        self.map_number = map_number
        image_temp = "map" + str(map_number) + ".png"
        self.get_map_navs()
        self.image = load_image(image_temp)
        self.rect = self.image.get_rect()
        self.x = init_x
        self.y = init_y
예제 #5
0
    def __init__(self, init_x, init_y, map_number):
        pygame.sprite.Sprite.__init__(self)

        self.map_number = map_number
        image_temp = "map" + str(map_number) + ".png"
        self.get_map_navs()
        self.image = load_image(image_temp, False)
        # self.image = pygame.transform.scale(self.image, (1200, 600))

        self.rect = self.image.get_rect()
        self.x = init_x
        self.y = init_y
예제 #6
0
    def __init__(self, init_x, init_y):
        pygame.sprite.Sprite.__init__(self)
        image_temp = "map.png"

        # dict các tọa độ (x, y) của các điểm trên bản đồ
        self.pos = dict()
        # margin :dict các index điểm kề của điểm giữa đường a = [b, c]
        self.margin = dict()
        # listPoint :list các điểm giữa đường theo thứ tự xuất phát => kết thúc
        self.listPoint = []
        # margin_path :list các cạnh
        self.margin_path = []
        # left_margin_point :list tọa độ các điểm bên lề trái (theo thứ tự xuất phát => kết thúc)
        self.left_margin_point = []
        # right_margin_point :list tọa độ các điểm bên lề phải (theo thứ tự xuất phát => kết thúc)
        self.right_margin_point = []
        # left_point_index: list index các điểm lề trái
        self.left_point_index = []
        # right_point_index: list index các điểm lề phải
        self.right_point_index = []
        # left_dist: độ lệch trái tại 1 thời điểm
        self.left_dist = 0
        # position: tọa độ xe hiện tại
        self.position = (0, 0)
        # alpha: góc lệnh của xe hiện tại (radian)
        self.alpha = 0.0

        self.image = load_image(image_temp)
        self.rect = self.image.get_rect()
        self.rect_w = self.rect.size[0]
        self.rect_h = self.rect.size[1]
        self.image = pygame.transform.scale(
            self.image, (int(self.rect_w * 6), int(self.rect_h * 6))
        )

        # khởi tạo các giá trị tọa độ ban đầu
        self.get_map_navs()
        # tính toán ra các tập cạnh
        self.draw_margin()
        # cắt tỉa ngã 4
        self.cat_tia_nga4()
        # tách tập cạnh thành 2 tập điểm lề trái và lề phải
        self.getMarginPoint()

        self.x = init_x
        self.y = init_y
        blue = 230, 30, 30
        pygame.draw.lines(self.image, blue, False, self.left_margin_point, 5)
        pygame.draw.lines(self.image, blue, False, self.right_margin_point, 5)
예제 #7
0
    def __init__(self, init_x, init_y, map_number):
        pygame.sprite.Sprite.__init__(self)

        self.map_number = map_number
        image_temp = "map" + str(map_number) + ".png"
        self.get_map_navs()
        self.image = load_image(image_temp)
        self.rect = self.image.get_rect()
        self.rect_w = self.rect.size[0]
        self.rect_h = self.rect.size[1]
        self.image = pygame.transform.scale(self.image, (int(self.rect_w * 6), int(self.rect_h * 6)))
        self.x = init_x
        self.y = init_y
        blue = 230, 30, 30
        point1 = 635*6, 525*6
        point2 = 165*6, 167*6
        pygame.draw.lines(self.image, blue, False, LINE_NAVS, 5)
예제 #8
0
 def __init__(self, init_x, init_y, init_after_x, init_after_y):
     pygame.sprite.Sprite.__init__(self)
     self.image = load_image("car_player3.png")
     self.rect = self.image.get_rect()
     self.x = round(init_x, 1)
     self.y = round(init_y, 1)
     self.x_before = round(init_x, 1)
     self.y_before = round(init_y, 1)
     self.rect.topleft = init_x, init_y
     self.dir = 180 + calculate_dir(round(self.x, 1), round(
         self.y, 1), round(self.x_before, 1), round(self.y_before, 1),
                                    round(init_after_x, 1),
                                    round(init_after_y, 1))
     self.image, self.rect = rot_center(self.image, self.rect, self.dir)
     #Do dai dich chuyen
     self.add_van_toc_x = 0.1
     self.add_van_toc_y = 0.1
     self.initArray = 1
예제 #9
0
 def set_traffic_lamp_img(self):
     if self.status == TrafficLamp.RED:
         return load_image(TrafficLamp.LAMP_RED_IMG)
     elif self.status == TrafficLamp.GREEN:
         return load_image(TrafficLamp.LAMP_GREEN_IMG)
예제 #10
0
 def set_stone_img():
     return load_image(Stone.STONE_IMG)