def __init__(self, screensize, image, thrust, rotor, scale): self.acc = 0 self.vel = [0, 0] loc_x = int(screensize[0]/2) loc_y = int(screensize[1]/2) self.loc = [loc_x, loc_y] self.thrust = thrust self.angle = 0 self.rotor = rotor self.rot = 0 self.scale = scale im = pygame.image.load(file('data', 'triangle.png')).convert_alpha() if scale == [1, 1]: self.im = im else: self.im = pygame.transform.scale(im, [50*scale[0], 50*scale[1]]) self.consumption = 0 self.fuel = 1000 self.rect = self.im.get_rect() self.mask = pygame.mask.from_surface(self.im) self.rect.topleft = self.loc[0], self.loc[1] self.score = 0 self.color = [255, 255, 255] barsize = [scale[0] * 200, scale[1] * 20] bar_loc = [screensize[0]-barsize[0]-30*scale[0], 10*scale[1]] self.fuelbar = bar(1000, barsize, bar_loc, self.color, scale) self.lives = 2 self.invuln = True self.invuln_timer = 180 self.extra_count = 0
def __call__(self, shell=None): outFiles = {} home = path.expanduser("~") for f in self.files: fName = path.join(home, f['path']) overwrite = f['overwrite'] if not overwrite: if path.exists(fName) and path.file(fName): checkLine = f['comment'] + self.generatedString testLine = "" with open(fName, 'r') as F: testLine = F.readline() if testLine == checkLine: overwrite = True if overwrite: outFiles[fName] = f['lines'] return outFiles
def __init__(self, angle, loc, scale): self.acc = 0 ang = -radians(angle) i_value = cos(ang) j_value = sin(ang) i = 20 * i_value j = 20 * j_value self.vel = [i,j] self.loc = loc[:] self.angle = 0 image = pygame.image.load(file('data','circle.png')).convert_alpha() if scale == [1, 1]: self.im = pygame.transform.smoothscale(image, [4,4]) else: self.im = pygame.transform.smoothscale(image, [4*scale[0], 4*scale[1]]) self.rect = self.im.get_rect() self.mask = pygame.mask.from_surface(self.im) self.mask.fill() self.max_distance = 500 self.dist = 0
def __init__(self, size, screensize, boom, loc, scale): self.size = size self.angle = randint(0,360) self.scale = scale vel = (4-size) ang = radians(self.angle) i_value = cos(ang) j_value = sin(ang) i = vel * i_value j = vel * j_value self.vel = [i ,j] image = pygame.image.load(file('data','circle.png')).convert_alpha() if (size == 3): if scale == [1, 1]: self.im = pygame.transform.scale2x(image).convert_alpha() else: self.im = pygame.transform.scale(image, [100 * scale[0], 100 * scale[1]]).convert_alpha() self.radius = hypot(50 * scale[0], 50 * scale[1]) self.score = 20 self.mass = 9 elif size == 2: if scale == [1, 1]: self.im = image.convert_alpha() else: self.im = pygame.transform.scale(image, [50 * scale[0], 50 * scale[1]]).convert_alpha() self.radius = hypot(25 * scale[0], 25 * scale[1]) self.score = 50 self.mass = 3 elif size == 1: if scale == [1, 1]: self.im = pygame.transform.scale(image, [25, 25]).convert_alpha() else: self.im = pygame.transform.scale(image, [25 * scale[0], 25 * scale[1]]).convert_alpha() self.radius = hypot(12.5 * scale[0], 12.5 * scale[1]) self.score = 100 self.mass = 1 self.rect = self.im.get_rect() self.mask = pygame.mask.from_surface(self.im) self.mask.fill() loc = loc[:] if boom != True: while 1: local_x = randint(0,screensize[0]) local_x += self.rect.width/2 local_y = randint(0,screensize[1]) local_y += self.rect.height/2 dist_x = local_x - loc[0] dist_y = local_y - loc[1] dist = hypot(dist_x,dist_y) if dist >= 300: self.loc = [local_x,local_y] break else: loc[0] = loc[0] + randint(-10, 10) loc[1] = loc[1] + randint(-10, 10) self.loc = loc self.wrap(screensize)