Пример #1
0
 def shoot_lasers(self):
     left_laser = Laser(Side.LEFT, self.player)
     right_laser = Laser(Side.RIGHT, self.player)
     self.lasers.append(left_laser)
     self.lasers.append(right_laser)
     self.all_sprites.append(left_laser)
     self.all_sprites.append(right_laser)
Пример #2
0
 def r_shoot(self):
     if self.cool_down == 0:
         rlaser = Laser(self.get_x() - 35, (self.get_y() - 20), self.r_laser_img)
         self.r_rlasers.append(rlaser)
         llaser = Laser(self.get_x() + 5, (self.get_y() - 20), self.r_laser_img)
         self.r_rlasers.append(llaser)
     self.cool_down = 1
     self.cooldown()
Пример #3
0
 def g_shoot(self):
     if self.cool_down == 0:
         rlaser = Laser(self.get_x() - 10, (self.get_y() - 0), self.g_laser_img)
         self.g_rlasers.append(rlaser)
         llaser = Laser(self.get_x() + 30, (self.get_y() - 0), self.g_laser_img)
         self.g_rlasers.append(llaser)
     self.cool_down = 1
     self.cooldown()
Пример #4
0
    def shoot_lasers(self):
        laser1 = Laser(self.x + self.ship_img.get_width() // 2 - self.laser_img.get_width() // 2 - 30,
                       self.y + self.ship_img.get_height() - self.laser_img.get_width() // 2 - 15,
                       self.laser_img)

        laser2 = Laser(self.x + self.ship_img.get_width() // 2 - self.laser_img.get_width() // 2 + 60,
                       self.y + self.ship_img.get_height() - self.laser_img.get_width() // 2 - 15,
                       self.laser_img)

        self.lasers.append(laser1)
        self.lasers.append(laser2)
Пример #5
0
 def createLaser(self):
     if (self.lastlaser + 1 < time.time() and self._laser):
         threading.Thread(target=playsound,
                          args=('laser.wav', ),
                          daemon=True).start()
         pos = self._paddle.getPosition()
         size = self._paddle.getSize()
         temp = Laser(np.array([pos[0], pos[1] + 1]))
         self.laserbeams.append(temp)
         temp = Laser(np.array([pos[0], pos[1] + size[1] - 1]))
         self.laserbeams.append(temp)
         self.lastlaser = time.time()
Пример #6
0
    def shoot_lasers(self):
        laser = Laser(
            self.x + self.ship_img.get_width() // 2 -
            self.laser_img.get_width() // 2 - 45,
            self.y + self.ship_img.get_height(), self.laser_img)

        self.lasers.append(laser)

        laser = Laser(
            self.x + self.ship_img.get_width() // 2 -
            self.laser_img.get_width() // 2 + 45,
            self.y + self.ship_img.get_height(), self.laser_img)

        self.lasers.append(laser)
Пример #7
0
    def __init__(self, name, rate_limiter):
        super(Leader, self).__init__(name,
                                     rate_limiter=rate_limiter,
                                     laser_range=[np.pi / 3.5, np.pi / 3.5],
                                     laser_dist=2)
        self._epsilon = 0.1
        self.leg_pub = rospy.Publisher('/' + name + '/legs',
                                       Marker,
                                       queue_size=5)
        self.centroid_pub = rospy.Publisher('/' + name + '/centroids',
                                            Marker,
                                            queue_size=5)
        self.v_pub = rospy.Publisher('/' + name + '/vel', Marker, queue_size=5)
        self.follow = None
        self._tf = TransformListener()
        self.last_vel = np.array([0., 0.])
        self.all_around_laser = Laser(name=name, laser_range=[np.pi, np.pi])
        self.last_legs = None

        def f(state, noise):
            pass

        def g(state, noise):
            pass

        self.ukf = UnscentedKalmanFilter(f, g)
        self.kf = None
Пример #8
0
 def fire(self, angle_degrees):
     if self.cooldown_timer == 0:
         l = Laser(heading=angle_degrees,
                   sourcebot=self.source,
                   color=self.color)
         self.laser_cb(l)
         self.cooldown_timer = self.cooldown
Пример #9
0
 def fire(self, sprite):
     '''Fires laser if can'''
     if self.last_fire > LASER_CADENCE:
         self.last_fire = 0
         self.fire_sound.play()
         return Laser(self.x, self.y, self.rotation, sprite, self.x_speed,
                      self.y_speed, self.space_width, self.space_height)
Пример #10
0
    def reset(self):
        self.laser = Laser()
        self.ufo = Ufo()

        self.alpha = 0 #angle between laserbeam and ufo
        self.gamma = 0 #angle between center and left/right end of ufo circle
        self.hit = False
Пример #11
0
 def battle(self):
     if self.music_playing == False:
         pygame.mixer.music.load("screammachine.wav")
         pygame.mixer.music.play(-1)
         self.music_playing = True
     laser = Laser(self.angle, self.rect.center, self.gs)
     self.gs.laser_list.append(laser)
Пример #12
0
    def run(self):

        # Get all boards
        print("Generating all the boards..."),
        sys.stdout.flush()
        boards = self.generate_boards()
        print("Done")
        sys.stdout.flush()

        print("Playing boards...")
        sys.stdout.flush()

        # Loop through all boards, and "play" them
        for b_index, board in enumerate(boards):

            board_checking = self.set_board(board)
            Test_1 = Laser(board_checking, self.points)
            laser_solved = Test_1.laser_run(self.laser)

            #laser object returns a boolean after checking if all points are met
            if laser_solved:
                print('solved')
                self.solution = board
                self.save_board()
                break
Пример #13
0
 def fire_laser(self):
     laser = Laser(self.batch, self.objects)
     laser.x = self.x + self.sprite.width // 2 * math.cos(self.rotation)
     laser.y = self.y + self.sprite.height // 2 * math.sin(self.rotation)
     laser.x_speed = self.x_speed + LASER_SPEED * math.cos(self.rotation)
     laser.y_speed = self.y_speed + LASER_SPEED * math.sin(self.rotation)
     laser.rotation = self.rotation
Пример #14
0
def fire_laser(ai_settings, screen, aliens, lasers):
    shooting_alien = random.choice(aliens.sprites())
    if len(lasers) < ai_settings.lasers_allowed and \
            (ai_settings.laser_stamp is None or
             (abs(pygame.time.get_ticks() - ai_settings.laser_stamp) > ai_settings.laser_time)):
        laser = Laser(ai_settings, screen, shooting_alien)
        lasers.add(laser)
Пример #15
0
    def logic(self):
        """Do player game logic."""

        # Can't jump forever.
        if self.jumping and self.pos_y < self.ground_y - self.jump_max + self.size_x:
            self.jumping = 0
            self.falling = 1

        if self.falling and self.pos_y > self.ground_y - self.size_y:
            self.falling = 0

        if self.jumping:
            self.pos_y -= self.move_amt

        if self.falling:
            self.jumping = 0  # Supports voluntary fall.
            self.pos_y += self.move_amt

        if self.launched:
            self.pos_y -= 1.5 * (self.move_amt)

        # Can't Launch forever
        if self.launched and self.pos_y < self.ground_y - 3 * (self.jump_max):
            self.launched = 0
            self.falling = 1

        if self.lasering > 0:
            self.lasering -= 1
            if self.laser is None:
                self.laser = Laser(size_y=self.ground_y, pos_y=0)
            self.laser.pos_x = self.pos_x + self.size_x / 2
            self.laser.size_y = self.pos_y
        else:
            self.laser = None
Пример #16
0
def fire_laser(settings, screen, alien, lasers):
    """Fire a bullet if limit not reached yet"""
    shoot_sound = pygame.mixer.Sound('sounds/shoot.wav')
    # Create a new bullet and add it to the bullets group.
    if len(lasers) < settings.lasers_allowed:
        new_laser = Laser(settings, screen, alien)
        lasers.add(new_laser)
        shoot_sound.play()
 def fire(self):
     # assume we have a class called Laser that handles...
     # ...what the laser looks like, its move method, its draw method, and its display method
     laser = Laser(game=self.game)
     # create a new laser object every time the user hits the key in the play loop that
     # will call this method (self.ship.fire())
     # add the newly created laser to the lasers group that is defined in this class's __init__ method
     self.lasers.add(laser)
Пример #18
0
 def initialise():
     GpioInterface.initialise()
     Peripherals.motion_sensor = MotionSensor(14)
     Peripherals.laser = Laser(4)
     Peripherals.laser.turnOff()
     Peripherals.gimbal = Gimbal(3, 2)
     Peripherals.audio = AudioInterface()
     Peripherals.button = Button(15)
Пример #19
0
    def __init__(self, memap):

        self.move = rospy.Publisher("/cmd_vel", Twist,
                                    queue_size=1)  #entender bem esta linha
        self.speed = Twist(Vector3(0.5, 0, 0), Vector3(0, 0, 0))
        self.angular = Twist(Vector3(0, 0, 0), Vector3(0, 0, 0.5))
        self.memap = memap
        self.laser = Laser()
Пример #20
0
def test_first_thing_laser_shoots_is_correct():
    amap, laser_pos = laser_test()

    laser = Laser(amap, laser_pos)

    asteroid_hit = laser.fire()

    assert asteroid_hit == Coord(8, 1)
Пример #21
0
def fire_laser(ai_settings, screen, aliens, lasers):
    """Random laser fired from random alien."""
    alien_fired = random.choice(aliens.sprites())
    if len(lasers) < ai_settings.lasers_allowed and (ai_settings.laser_stamp is None
                                                     or (abs(pygame.time.get_ticks() - ai_settings.laser_stamp) >
                                                         ai_settings.laser_time)):
        new_laser = Laser(ai_settings, screen, alien_fired)
        alien_fired.invader_shoot()
        lasers.add(new_laser)
Пример #22
0
 def shoot2(self):
     """
     Creates a laser
     :return: None
     """
     laser = Laser(self.x + self.BOSS_ATTACK_1[0].get_width() // 2 - 70,
                   self.y + self.BOSS_SHIP[0].get_height() - 50,
                   self.laser_img)
     self.lasers.append(laser)
Пример #23
0
    def process_laser(self, agent, command):
        agent.last_laser_world_tick = self.world_tick
        name = 'laser{0}'.format(len(self.lasers) + 1)
        start_pos = self.relative_position(
            agent, Point(agent.position.x, (agent.position.y - 20)))

        laser = Laser(agent.team, name, agent.name, start_pos, agent.bearing)
        self.lasers.append(laser)
        agent.command_finished()
Пример #24
0
 def shoot(self):
     """
     Creates a laser
     :return: None
     """
     laser = Laser(
         int(self.x + self.ship_img.get_width() / 2 + self.shoot_x),
         self.y + self.ship_img.get_height() + self.shoot_y, self.laser_img)
     self.lasers.append(laser)
Пример #25
0
    def create_bullet(self):
        """
		Creates an instance of laser and appends it to the bullets sprite list
		"""
        if self.ammo > 0:
            laser = Laser(self.ship.center_x, self.ship.center_y)
            self.bullets.append(laser)
            arcade.sound.play_sound(self.gun_sound)
            self.ammo -= 1
Пример #26
0
def fire_random_laser(ai_settings, screen, aliens, lasers):
    # random laser from random alien
    firing_alien = random.choice(aliens.sprites())
    if len(lasers) < ai_settings.lasers_allowed and \
            (ai_settings.laser_stamp is None or
             (abs(pygame.time.get_ticks() - ai_settings.laser_stamp) > ai_settings.beam_time)):
        new_laser = Laser(ai_settings, screen, firing_alien)
        firing_alien.fire_laser()
        lasers.add(new_laser)
Пример #27
0
    def create_laser(self):
        """Checks to see if enough time has elapsed since the last Laser has been fired. If so, creates a
        new Laser object.
        """

        if self.clock > self.last_fire + self.laser_buffer:
            new_laser_position = (self.ship_rect.centerx - self.laser_offset, self.ship_height - self.laser_offset)
            new_laser = Laser(self.laser_size, new_laser_position, self.laser_speed)
            self.laser_list.append(new_laser)
            self.last_fire = self.clock
Пример #28
0
    def update(self):
        ''' Update movement based on server '''
        data = self.s.recv(BUFFER_SIZE).decode()
        data = eval(data)

        self.player1.setxRect(data['xpos'])
        self.player1.setyRect(data['ypos'])
        self.objects.update(self.screen_rect)

        if data['fire']:
            self.objects.add(Laser(data['center'], data['angle']))
Пример #29
0
    def update(self):
        ''' Update movement based on server '''
        data = self.s.recv(BUFFER_SIZE).decode()
        data = eval(data)

        self.player1.setxRect(data['xpos'])
        self.player1.setyRect(data['ypos'])
        self.objects.update(self.screen_rect)

        self.player2.setxRect(data['xposP2'])
        self.player2.setyRect(data['yposP2'])
        self.player2.set_angle(data['angleP2'])
        self.objectsP2.update(self.screen_rect)

        if data['fire']:
            self.objects.add(Laser(data['center'], data['angle'], True))

        if data['fireP2']:
            self.objectsP2.add(Laser(data['centerP2'], data['angleP2'], False))

        self.FPS = data['FPS']
Пример #30
0
    def on_mouse_press(self, x: float, y: float, button: int, modifiers: int):
        # Fire!

        # grabs the current angle between the ship and mouse
        angle = self.get_angle_degrees(x, y) + 90

        # creates a laser object using information from the ship
        laser = Laser(angle, self.ship.center.x, self.ship.center.y,
                      self.ship.velocity.dx, self.ship.velocity.dy)

        # adds it to the list
        self.lasers.append(laser)