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)))
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()
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()
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
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
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)
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)
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
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)
def set_stone_img(): return load_image(Stone.STONE_IMG)