def _create_meteor(self , meteor_number , row_number): meteor = Meteor(self) meteor_width , meteor_height = meteor.rect.size meteor.x = 20 + meteor_width + 2 * meteor_width * meteor_number meteor.rect.x = meteor.x meteor.rect.y = meteor.rect.height + 2 * meteor.rect.height * row_number self.meteors.add(meteor)
def create_meteor(ai_settings, screen, meteors, meteor_number, row_number): """Create a meteor and place it in the row.""" meteor = Meteor(ai_settings, screen) meteor_width = meteor.rect.width meteor.x = meteor_width + 2 * meteor_width * meteor_number meteor.rect.y = meteor.rect.height + 2 * meteor.rect.height * row_number meteor.rect.x = meteor.x meteors.add(meteor)
def generation_meteor(meteors, screen, settings): if len(meteors) < settings.allowed_meteors and randint( 1, settings.meteor_chanse) == 1: meteor = Meteor(screen, settings, meteors, randint(1, 3), settings.meteor_x) settings.meteor_x += meteor.get_width() * settings.meteor_direction chose_direction(settings) meteors.add(meteor)
def runGame(): #funcion que iniciara el juego pygame.init() aiSettings = Config() screen = pygame.display.set_mode( (aiSettings.screenW, aiSettings.screenH )) #instanciamos el objeto para definir las dimensiones de la ventana imagen_defondo = pygame.image.load("images/space.jpg").convert() rectangulo = imagen_defondo.get_rect() screen.blit(imagen_defondo, (0, 0)) pygame.display.set_caption("ALIEN INVASION") #Titulo de nuestra ventana pygame.mixer.init() pygame.display.init() bgCOLOR = (230, 230, 230) ship = Ship(aiSettings, screen) meteor = Meteor(aiSettings, screen) bullets = Group() meteoritos = Group() tiempo = 1 puntuacion = 0 letra = pygame.font.SysFont("Arial", 18) while True: if tiempo == 1 or tiempo % 100 == 0: meteor = Meteor(aiSettings, screen) meteoritos.add(meteor) gf.check_events(ship, aiSettings, screen, bullets) ship.update() bullets.update() meteoritos.update() gf.updateScreen(aiSettings, screen, ship, meteoritos, bullets) ship.animation() for bullet in bullets.copy(): if bullet.rect.left >= 1200: bullets.remove(bullet) for x in meteoritos.copy(): if x.rect.right <= 0: meteoritos.remove(x) if pygame.sprite.groupcollide(meteoritos, bullets, True, True): puntuacion += 1 print(puntuacion) gf.updateScreen(aiSettings, screen, ship, meteoritos, bullets) screen.blit(imagen_defondo, (0, 0)) tiempo += 1
def spawn_meteors(num): for i in range(num): # This represents a meteor meteor = Meteor(Vec2d(0, 0), 1, 0.4) # Set a random location for the meteors meteor.reset_pos(screen_width) # Add the meteor to the list of objects meteor_list.add(meteor) all_sprites_list.add(meteor)
class Window(Window): def __init__(self): super().__init__(800, 600, "Window arcade") self.meteor = Meteor(100, 100) self.meteors = SpriteList() for i in range(15): new_meteor = Meteor(randint(0, self.width), randint(0, self.height)) self.meteors.append(new_meteor) self.player = Player(self.width / 2, self.height / 2, "trdu", "blue") self.a_pressed = False self.d_pressed = False self.w_pressed = False self.s_pressed = False def on_draw(self): start_render() self.meteor.draw() for i in range(len(self.meteors)): self.meteors[i].draw() self.player.draw() def on_mouse_motion(self, x, y, dx, dy): self.meteor.center_x = x self.meteor.center_y = y def on_key_press(self, symbol, modifiers): if symbol == key.A or symbol == key.LEFT: self.a_pressed = True elif symbol == key.D or symbol == key.RIGHT: self.d_pressed = True random_meteor = choice(self.meteors) new_meteor_1, new_meteor_2 = random_meteor.break_apart() if new_meteor_1: self.meteors.append(new_meteor_1) if new_meteor_2: self.meteors.append(new_meteor_2) def on_update(self, delta_time): for meteor in self.meteors: meteor.update(self.width, self.height) if self.a_pressed == True: self.player.turn_left() if self.d_pressed == True: self.player.turn_right() def on_key_release(self, symbol, modifiers): if symbol == key.A or symbol == key.LEFT: self.a_pressed = False elif symbol == key.D or symbol == key.RIGHT: self.d_pressed = False
def __init__(self): super().__init__(800, 600, "Window arcade") self.meteor = Meteor(100, 100) self.meteors = SpriteList() for i in range(15): new_meteor = Meteor(randint(0, self.width), randint(0, self.height)) self.meteors.append(new_meteor) self.player = Player(self.width / 2, self.height / 2, "trdu", "blue") self.a_pressed = False self.d_pressed = False self.w_pressed = False self.s_pressed = False
def eval_captions(gt_captions, res_captions): """ gt_captions = ground truth captions; 5 per image res_captions = captions generated by the model to be evaluated """ print('ground truth captions') print(gt_captions) print('RES CAPTIONS') print(res_captions) scorers = [ (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]), (Meteor(),"METEOR"), (Rouge(), "ROUGE_L"), (Cider(), "CIDEr"), ] res = [] for scorer, method in scorers: print('computing %s score...' % (scorer.method())) score, scores = scorer.compute_score(gt_captions, res_captions) if type(method) == list: for sc, scs, m in zip(score, scores, method): print("%s: %0.3f"%(m, sc)) res.append((m, sc)) else: print("%s: %0.3f"%(method, score)) res.append((method, score)) return res
def generate(score): dx = random.random() if dx < 0.9: dx -= 1.0 dy = random.random() if dy < 0.9: dy -= 1.0 mag = 1 + score / 100 #운석속도조절 dx *= mag dy *= mag side = random.randint(1, 4) if side == 1: # left x = 0 y = random.uniform(0, get_canvas_height()) if dx < 0: dx = -dx elif side == 2: # bottom x = random.uniform(0, get_canvas_width()) y = 0 if dy < 0: dy = -dy elif side == 3: # right x = get_canvas_width() y = random.uniform(0, get_canvas_height()) if dx > 0: dx = -dx else: # side == 4: # up x = random.uniform(0, get_canvas_width()) y = get_canvas_height() if dy > 0: dy = -dy m = Meteor((x, y), (dx, dy)) gfw.world.add(gfw.layer.meteor, m)
def add_meteor(self): """ Add new meteor to the list if it is possible """ if len(self.list_of_meteors) < self.maximum_number_of_meteors: brzeg = 100 if r.random() < 0.7: y = -brzeg x = r.random() * self.max_x x_acc = r.random() * 3 - 1.5 y_acc = r.random() * 2 + 1 else: if r.random() < 0.5: y = r.random() * self.max_y / 3 x = self.max_x + brzeg x_acc = - r.random() * 3 - 1 y_acc = r.random() * 3 - 1 else: y = r.random() * self.max_y / 4 x = -brzeg x_acc = r.random() * 3 + 1 y_acc = r.random() * 3 - 2.5 rotation = 0 rotation_speed = r.randint(1, 3) rotation_counter = 0 size = r.choice([70, 60, 50, 40, 30]) rotation_direction = r.choice([-1, 1]) meteor = Meteor(x, y, x_acc, y_acc, rotation, rotation_counter, rotation_speed, rotation_direction, size) self.list_of_meteors.append(meteor)
def _fire_meteor(self): """Создание нового метеорита и включение её в группу meteors.""" if not self.stats.boss_level: if len(self.meteors.sprites()) < self.settings.meteor_number_max: select_alien = choice(self.aliens.sprites()) new_meteor = Meteor(self, select_alien) self.settings.meteor_timing = 0 new_meteor.shoot_sound.play() self.meteors.add(new_meteor)
def _create_rain(self): meteor = Meteor(self) meteor_width , meteor_height = meteor.rect.size available_space_x = self.settings.screen_width - (2 * meteor_width) number_meteor_x = available_space_x // (2 * meteor_width) ship_height = self.ship.rect.height available_space_y = (self.settings.screen_height - (3 * meteor_height) - ship_height) number_rows = available_space_y // (2 * meteor_height) for row_number in range(number_rows): for meteor_number in range(number_meteor_x): self._create_meteor(meteor_number , row_number)
def create_meteorite(self, x, y, dir_x, dir_y, border=False): meteor = Meteor(x, y, dir_x, dir_y) meteor_sprite = pygame.sprite.RenderPlain(meteor) if not border: self.meteors.append(meteor) self.meteors_sprite.append(meteor_sprite) # print(self.meteors) # print(self.meteors_sprite) else: self.border_meteors.append(meteor) self.border_meteors_sprite.append(meteor_sprite)
def __init__(self): #generer le vaisseau self.all_vaisseau = pygame.sprite.Group() self.vaisseau = Vaisseau(self) self.all_vaisseau.add(self.vaisseau) self.pressed = {} self.all_boss = pygame.sprite.Group() self.boss = Boss(self) self.all_boss.add(self.boss) self.meteor = Meteor(self) self.meteorevent = MeteorEvent(self) self.tirer = Tirer()
def create_shower(ai_settings, screen, ship, meteors): """Create a full shower of meteors.""" # Create a meteor and find the number of meteors in a row. meteor = Meteor(ai_settings, screen) number_meteors_x = get_number_meteors_x(ai_settings, meteor.rect.width) number_rows = get_number_rows(ai_settings, ship.rect.height, meteor.rect.height) # Create the first row of meteors. # Create meteor showers for row_number in range(number_rows): for meteor_number in range(number_meteors_x): create_meteor(ai_settings, screen, meteors, meteor_number, row_number)
def update(self): self.rect.x += self.speed * self.direction[0] self.rect.y += self.speed * self.direction[1] if self.rect.x > self.display_width or self.rect.x < 0 or self.rect.y > self.display_height or self.rect.y > self.display_height: self.projectile_list.remove(self) return blocks_hit_list = pygame.sprite.spritecollide(self, self.meteor_list, True) if blocks_hit_list: self.projectile_list.remove(self) for i in range(len(blocks_hit_list)): self.meteor_list.add( Meteor(self.display_width, self.display_height))
def process_meteorites(column_names, rows): for i in range(len(rows)): cells = rows[i] meteor = {} for i, column in enumerate(column_names): cell = cells[i] meteor[column] = cell try: # Data conversion attempt meteor_object = Meteor(**meteor) except ValueError: # Skip meteorite if any data missing continue yield meteor_object
def score(ref, hypo): scorers = [ (Bleu(4),["Bleu_1","Bleu_2","Bleu_3","Bleu_4"]), (Meteor(),"METEOR"), (Rouge(),"ROUGE_L"), (Cider(),"CIDEr") ] final_scores = {} for scorer,method in scorers: score,scores = scorer.compute_score(ref,hypo) if type(score)==list: for m,s in zip(method,score): final_scores[m] = s else: final_scores[method] = score return final_scores
def check_events(ai_settings, screen, stats, ship, aliens, bullets, COUNT, bonus, meteors, meteor_images, shoot_sound, p_button, quit_button): for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: check_keydown_events(event, ai_settings, stats, screen, ship, bullets, shoot_sound) elif event.type == pygame.KEYUP: check_keyup_events(event, ship) elif event.type == pygame.MOUSEBUTTONDOWN: mouse_x, mouse_y = pygame.mouse.get_pos() check_button(stats, p_button, quit_button, mouse_x, mouse_y) elif event.type == COUNT and stats.game_active: new_bonus = Bonus(screen, ai_settings) bonus.add(new_bonus) for i in range(6): new_meteor = Meteor(screen, ai_settings, meteor_images) meteors.add(new_meteor)
def run_game(): # Initialize pygame,settings, and screen object. pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") # Create an instance to store game statistics. stats = GameStats(ai_settings) # Make a ship ship = Ship(ai_settings, screen) # Make a group to store bullets in. bullets = Group() # Make a meteor meteor = Meteor(ai_settings, screen) # Make a meteor shower meteors = Group() # Create the meteor shower gf.create_shower(ai_settings, screen, ship, meteors) # Set the background color bg_color = (230, 230, 230) # Start the main loop for the game while True: gf.check_events(ai_settings, screen, ship, bullets) if stats.game_active: ship.update() bullets.update() gf.update_bullets(ai_settings, screen, ship, meteors, bullets) gf.update_meteors(ai_settings, stats, screen, ship, meteors, bullets) gf.update_screen(ai_settings, screen, ship, bullets, meteors)
def __init__(self): # Tell the class incharge, to run the __init__ function super().__init__(800, 600, "My Arcade Window") self.set_update_rate(1) # Create a copy of the Meteor class, using x=200 and y=200 # self.meteor = Meteor(200, 200) # Create an empty list self.meteors = SpriteList() # Loop 20 times for i in range(20): # Create a copy of the Meteor class, using random integers for x and y new_meteor = Meteor(randint(0, self.width), randint(0, self.height)) # Add the new copy to the list of meteors self.meteors.append(new_meteor) self.player = Player(self.width / 2, self.height / 2, "Best Player", "blue") self.a_pressed = False self.d_pressed = False self.w_pressed = False self.s_pressed = False
def fire_meteor(fs_settings, screen, meteors): if len(meteors) < fs_settings.meteors_allowed: new_meteor = Meteor(fs_settings, screen) meteors.add(new_meteor)
import re from meteor import Meteor import sys import pandas as pd import tensorflow as tf scorer = Meteor() # clean for BioASQ https://github.com/nlpaueb/aueb-bioasq6 bioclean = lambda t: re.sub('[.,?;*!%^&_+():-\[\]{}]', '', t.replace('"', '').replace('/', '').replace('\\', '').replace("'",'').strip().lower()) FLAGS = tf.app.flags.FLAGS tf.flags.DEFINE_string("filepath", "", "Path to JSON file") def main(argv): """ run as: >> python __init__.py --filepath "path_to_json" :param filepath: path to json file (json format: [{"id":"", "predicted_caption":"", "true_caption":""}] :return: print METEOR score """ assert FLAGS.filepath, "--filepath is required" gts = {} res = {} results = pd.read_json(FLAGS.filepath, orient="records") results.predicted_caption = results.predicted_caption.apply(bioclean) results.true_caption = results.true_caption.apply(bioclean)
def game_loop(): capture = Connection() global pause ############ # pygame.mixer.music.load('woosh.wav') # pygame.mixer.music.play(-1) ############ meteor_list = pygame.sprite.Group() projectile_list = pygame.sprite.Group() for i in range(nb_meteors): m = Meteor(display_width, display_height) meteor_list.add(m) ship = Ship(ship_width, ship_height, shipx, shipy) gameExit = False aimx = display_width // 2 aimy = 0 aim = np.array((aimx, aimy)) aim = aim / np.linalg.norm(aim) shot_timer = 0 while not gameExit: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_p: pause = True paused() # aimx, aimy = pygame.mouse.get_pos() # aim = np.array((aimx, aimy)) pupil_positions = capture.recent_events() if pupil_positions: print("Found Pupil") aimx, aimy = pupil_positions[-1] aimy = 1 - aimy aimx = aimx * display_width aimy = aimy * display_height aim = np.array((aimx, aimy)) else: print("No pupil pos") shot_timer += 1 if shot_timer % 20 == 0: Projectile(aim - (shipx + ship_width // 2, shipy), shipx, shipy, ship_width, meteor_list, projectile_list, display_width, display_height) shot_timer = 0 gameDisplay.fill(white) # Move things for projectile in projectile_list: projectile.update() meteor_list.update() # Draw things surface_markers.draw(gameDisplay) meteor_list.draw(gameDisplay) ship.draw(gameDisplay) projectile_list.draw(gameDisplay) # Remove dead meteors and projectiles # projectile_list[:] = [p for p in projectile_list if p.alive] cross_hair(aimx, aimy) # things_dodged(dodged) blocks_hit_list = pygame.sprite.spritecollide(ship, meteor_list, True) if blocks_hit_list: crash() pygame.display.update() clock.tick(60)
def newMeteor(): global all_sprites m = Meteor(meteors, all_sprites) meteors.add(m) all_sprites.add(m)
def init_meteor(self): # Create a new meteor obbject. Random position of meteor on x-axis (marginal 10 px) and random speed meteor = Meteor(random.randint(10, 790), 0, random.uniform(0.75, 2.50)) return meteor
def newMeteor(): m = Meteor(meteors, all_sprites) meteors.add(m) all_sprites.add(m)