Exemplo n.º 1
0
def create_alien(ai_settings, screen, aliens, alien_number, row_number):
    alien = Alien(ai_settings, screen)
    alien_width = alien.rect.width
    alien.x = alien_width + alien_number * (2 * alien_width)
    alien.rect.x = alien.x
    alien.rect.y = alien.rect.height + row_number * 2 * alien.rect.height
    aliens.add(alien)
    def _spawn_alien2(self):
        #Spawn boss alien

        alien2 = Alien(self)
        alien2.type = 2
        alien2.rect = alien2.rect2
        self.aliens2.add(alien2)
Exemplo n.º 3
0
def create_alien(number_aliens, screen, ai_settings, aliens, row_number):
	for alien_number in range(number_aliens):
		alien = Alien(screen, ai_settings)
		alien.x = alien.rect.width + alien.rect.width * 2 * alien_number
		alien.rect.x = alien.x
		alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number
		aliens.add(alien)
    def _spawn_alien1(self):
        #Spawn minion alien

        alien1 = Alien(self)
        alien1.type = 1
        alien1.rect = alien1.rect1
        self.aliens1.add(alien1)
Exemplo n.º 5
0
def create_alien(ai_s, screen, aliens, alien_number, row_number):
    alien = Alien(ai_s, screen)
    alien_width = alien.rect.width
    alien.x = alien_width + 2 * alien_width * alien_number
    alien.rect.x = alien.x
    alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number
    aliens.add(alien)
Exemplo n.º 6
0
def create_alien(gs, screen, aliens, alien_num,
                 row_number):  # creates 1 alien and adds to row
    alien = Alien(gs, screen)
    alien_w = alien.rect.width
    alien.x = alien_w + (2 * alien_w) * alien_num
    alien.rect.x = alien.x
    alien.rect.y = alien.rect.height + (2 * alien.rect.height * row_number)
    aliens.add(alien)
Exemplo n.º 7
0
def create_alien(ai_settings, screen, aliens, alien_number, row_number):
	"""Create an alien and place it in the row."""
	alien = Alien(ai_settings, screen)
	alien_width = alien.rect.width
	alien.x = alien_width + 2 * alien_width * alien_number
	alien.rect.x = alien.x
	alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number
	aliens.add(alien)
Exemplo n.º 8
0
 def _create_alien(self, alien_number, row_number):
     """Create an alien and place it in the row."""
     alien = Alien(self)
     alien_width, alien_height = alien.rect.size
     alien.x = alien_width + 2 * alien_width * alien_number
     alien.rect.x = alien.x
     alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number
     self.aliens.add(alien)
Exemplo n.º 9
0
    def _create_alien(self, alien_number, alien_width, alien_height,
                      row_number):

        alien = Alien(self)
        alien.x = alien_width + 2 * alien_width * alien_number
        alien.rect.x = alien.x
        alien.rect.y = alien_height + 2 * alien_height * row_number
        self.aliens.add(alien)
Exemplo n.º 10
0
def create_alien(ai_settings, screen, aliens, alien_number, row_number):
    """Create an alien and place it in the row."""
    alien = Alien(ai_settings, screen)
    alien_width = alien.rect.width
    alien.x = alien_width + 2 * alien_width * alien_number
    alien.rect.x = alien.x
    alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number
    aliens.add(alien)
Exemplo n.º 11
0
def create_alien(settings, screen, aliens, alien_number, row_number):
    # CREATE ALIEN AND PLACE INTO ROW
    alien = Alien(settings, screen)
    alien_width = alien.rect.width
    # Spacing between each alien is equal to one alien width
    alien.x = alien_width + 2 * alien_width * alien_number
    alien.rect.x = alien.x
    alien.rect.y = alien.rect.height + 2 * alien.rect.height * row_number
    aliens.add(alien)
Exemplo n.º 12
0
def create_alien(game_settings, screen, alien_number, aliens, row_number):
    alien = Alien(game_settings, screen)
    alien_width = alien.rect.width
    alien_height = alien.rect.height
    alien.x = alien_width + (2 * alien_width * alien_number)
    alien.y = alien_height + (2 * alien_height * row_number)
    alien.rect.x = alien.x
    alien.rect.y = alien.y
    aliens.add(alien)
Exemplo n.º 13
0
 def _create_alien(self, row_no, alien_number):
     alien = Alien(self)
     alien_width = alien.alien_rect.width
     alien_height = alien.alien_rect.height
     alien.y = alien_height + 2 * alien_height * row_no
     alien.x = alien_width + 2 * alien_number * alien_width
     alien.alien_rect.y = alien.y
     alien.alien_rect.x = alien.x
     self.aliens.add(alien)
Exemplo n.º 14
0
def create_alien(ai_settings, screen, aliens, i, j):
    """创建一个外星人并加入舰队"""
    alien = Alien(ai_settings, screen)
    alien_width = alien.rect.width
    alien.x = ai_settings.first_ship_position_x + 2 * alien_width * i
    alien.rect.x = alien.x
    alien.y = ai_settings.first_ship_position_y +\
              2 * alien.rect.height * j  # 这一步及其关键!!! 真是隐蔽啊...编程这东西, 太危险了.
    alien.rect.y = alien.y
    aliens.add(alien)
Exemplo n.º 15
0
def create_alien(aliens, screen, settings, num, row, offset_y):
    #create alien
    new_alien = Alien(screen, settings)
    #modify its position
    #Its X position
    new_alien.x = (new_alien.alien_width + (2 * num * new_alien.alien_width))
    new_alien.rect.x = new_alien.x
    #Its Y position
    new_alien.y = (new_alien.alien_height + (2 * row * new_alien.alien_height))
    new_alien.rect.y = new_alien.y + offset_y
    aliens.add(new_alien)
Exemplo n.º 16
0
def creat_alien(
        number_aliens_x,
        number_aliens_row,
        ai_settings,
        screen,
        aliens):
    for row in range(number_aliens_row):
        for number in range(number_aliens_x - 1):
            alien = Alien(ai_settings, screen)
            alien_width = alien.rect.width
            alien.x = alien_width + 2 * alien_width * number
            alien.rect.y = alien.rect.height + 2 * alien.rect.height * row
            alien.rect.x = alien.x
            aliens.add(alien)
Exemplo n.º 17
0
def alien_generator(alien_color):
    '''
    multiplies the alien object on the screen.
    setting up the x,y coordinates with the value of margin between them
    '''
    for x in range(margin, screen_size[0] - margin, margin):
        for y in range(margin, int(screen_size[1]/2), margin):
            alien_vessel = Alien(alien_color, alien_height, alien_width, alien_health)
            alien_vessel.rect.x = x
            alien_vessel.rect.y = y
            alien_pos_list.append(alien_vessel.get_initial_pos())
            alien_direction_list.append(alien_vessel.get_initial_dir())
            alien_vessels_list.add(alien_vessel)
            all_sprites_list.add(alien_vessel)
Exemplo n.º 18
0
	def _create_fleet(self):
		'''create the fleet of aliens'''
		#create an alien & find the number of aliens in a row.
		#spacing between alien is equal to one alien
		alien=Alien(self)
		'''we use the attribute size,which contains a tuple with the width,
		& height of a rect object.'''
		alien_width,alien_height=alien.rect.size

		#we find the available space by subtracting margins on either side
		available_space_x=self.settings.screen_width-(2*alien_width)
		#finding aliens which can fit on the available space
		number_aliens_x=available_space_x//(2*alien_width)


		#Determine the number of rows of aliens that can fit on the screen
		ship_height=self.ship.rect.height
		available_space_y=self.settings.screen_height- ship_height-(3*alien_height)
		number_rows=available_space_y//(2*alien_height)

		#create the full fleet of aliens
		for row_number in range(number_rows):
			#create the first row of aliens
			for alien_number in range(number_aliens_x):
				self._create_alien(alien_number, row_number)
Exemplo n.º 19
0
def run_game():
    '''Space ship game'''
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Spaceship Game")
    ship = Ship(screen, ai_settings)
    stats = GameStats(ai_settings)
    bullets = Group()
    aliens = Group()
    alien = Alien(ai_settings, screen)
    play_button = Button(ai_settings, screen, 'Play')

    g_funcs.create_aliens_fleet(ai_settings, screen, alien, aliens, ship)

    while True:
        # Check keyboar d and mouse events
        g_funcs.check_events(ai_settings, screen, stats, play_button, alien,
                             aliens, bullets, ship)

        if stats.game_active:
            # Update ship's position
            ship.update()
            # Update bullets
            g_funcs.update_bullets(ai_settings, screen, ship, alien, aliens,
                                   bullets)
            # Update aliens
            g_funcs.update_aliens(ai_settings, stats, screen, alien, aliens,
                                  bullets, ship)
        # Update screen
        g_funcs.update_screen(ai_settings, screen, stats, ship, bullets,
                              aliens, play_button)
Exemplo n.º 20
0
def create_fleet(gs, screen, ship, aliens):
    alien = Alien(gs, screen)
    numberaliens_x = get_num_x(gs, alien.rect.width)
    number_rows = get_num_rows(gs, ship.rect.height, alien.rect.height)
    for row_num in range(number_rows):
        for alien_num in range(numberaliens_x):
            create_alien(gs, screen, aliens, alien_num, row_num)
Exemplo n.º 21
0
def number_of_rows(rocket, settings, screen):
    #get the height of the aliens
    alien = Alien(screen, settings)
    alien_height = alien.alien_height
    available_height = settings.screen_heigh - rocket.rocket_height - alien_height
    rows = int(available_height / (2 * alien_height))
    #create abit more empty space
    rows = rows - 1
    return rows
Exemplo n.º 22
0
def create_fleet(ai_settings, screen, ship, aliens):
    alien = Alien(ai_settings, screen)
    number_aliens_x = get_number_aliens_x(ai_settings, alien.rect.width)
    number_rows = get_number_rows(ai_settings, ship.rect.height,
                                  alien.rect.height)

    for row_number in range(number_rows):
        for alien_number in range(number_aliens_x):
            create_alien(ai_settings, screen, aliens, alien_number, row_number)
Exemplo n.º 23
0
def create_fleet(ai_settings, screen, ship, aliens):
    alien = Alien(ai_settings, screen)
    alien_width = alien.rect.width
    number_alien_x = get_number_aliens_x(ai_settings, alien_width)
    number_row = get_number_rows(ai_settings, ship.rect.height,
                                 alien.rect.height)
    for r in range(number_row):
        for i in range(number_alien_x):
            create_alien(ai_settings, screen, aliens, i, r)
Exemplo n.º 24
0
def create_fleet(ai_settings, aliens, screen, ship):
    """创建舰队"""
    alien = Alien(
        ai_settings,
        screen)  # 实例仅仅是为了向rows()函数传参alien.rect.height. 其实可以不这么写,参考行函数.
    number_aliens_x = get_number_aliens_x(ai_settings, screen)
    number_aliens_rows = get_number_aliens_row(ai_settings, alien.rect.height,
                                               ship)
    for i in range(number_aliens_x):
        for j in range(number_aliens_rows):
            create_alien(ai_settings, screen, aliens, i, j)
Exemplo n.º 25
0
def get_number_aliens(settings, screen):
    #create an alien
    alien = Alien(screen, settings)
    #print(settings.screen_width)
    #print(type(settings))
    alien_width = alien.alien_width
    screen_width = settings.screen_width
    #determine the number of aliens per row
    num_per_row = int(screen_width / (2 * alien_width))
    to_loop = num_per_row - 1
    return to_loop
Exemplo n.º 26
0
def create_fleet(ai_settings, screen, ship, aliens):
    """Create a full fleet of aliens."""
    # Create an alien, and find number of aliens in a row.
    alien = Alien(ai_settings, screen)
    number_aliens_x = get_number_aliens_x(ai_settings, alien.rect.width)
    number_rows = get_number_rows(ai_settings, ship.rect.height,
                                  alien.rect.height)

    # Create the fleet of aliens.
    for row_number in range(number_rows):
        for alien_number in range(number_aliens_x):
            create_alien(ai_settings, screen, aliens, alien_number, row_number)
Exemplo n.º 27
0
def create_fleet(ai_settings, screen, ship, aliens):
    '''createsa full fleet of aliens'''
    #create an alien and find the number of aliens in the row
    #spacing between each alien is one alien width
    alien = Alien(ai_settings, screen)
    number_aliensx = get_number_aliens_x(ai_settings, alien.rect.width)
    number_rows = get_number_rows(ai_settings, ship.rect.height,
                                  alien.rect.height)
    #create rows of aliens
    for row_no in range(number_rows):
        for alien_number in range(number_aliensx):
            create_alien(ai_settings, screen, aliens, alien_number, row_no)
Exemplo n.º 28
0
	def _create_alien(self,alien_number,row_number):
		#create an alien and place it in the row
		alien=Alien(self)
		alien_width, alien_height=alien.rect.size
		'''we create a new alien and then set its x-coordinate value 
		to place it in the row'''
		'''Each alien is pushed to the right one alien width from the left margin. 
		Next, we multiply the alien width by 2 to account for the space each alien 
		takes up,including the empty space to its right, 
		and we multiply this amount by the alien’s position in the row.'''
		alien.x=alien_width+2*alien_width*alien_number

		#We use the alien’s x attribute to set the position of its rect.
		alien.rect.x=alien.x
		'''we place y-coordinate of an alien which is not in the 1st row by
		adding on alien height which creates a space on top of the 1st row'''
		'''the next row is found 2 alien heights from the previous height'''
		alien.rect.y=alien.rect.height+2*alien_height*row_number


		self.aliens.add(alien)
Exemplo n.º 29
0
def create_fleet(game_settings, screen, space_ship, aliens):
    # create a full fleet of aliens
    alien = Alien(game_settings, screen)
    alien_width = alien.rect.width
    alien_height = alien.rect.height
    ship_height = space_ship.ship_rect.height
    number_of_aliens = int(get_alien_number(game_settings, alien_width))
    number_of_rows = int(
        get_number_of_rows(game_settings, alien_height, ship_height))
    for row_number in range(number_of_rows - 1):
        for alien_number in range(number_of_aliens):
            create_alien(game_settings, screen, alien_number, aliens,
                         row_number)
Exemplo n.º 30
0
def create_fleet(ai_settings, screen, ship, aliens):
	"""Create a full fleet of aliens."""

	# Create an alien and find the number of aliens in a row.
	# Spacing between each alien is equal to one alien width.
	alien = Alien(ai_settings, screen)
	number_aliens_x = get_number_aliens_x(ai_settings, alien.rect.width)
	number_rows = get_number_rows(ai_settings, ship.rect.height, alien.rect.height)
	
	# Create the first row of aliens
	for row_number in range(number_rows):
		for alien_number in range(number_aliens_x):
			# Create an alien and place it in the row.
			create_alien(ai_settings, screen, aliens, alien_number, row_number)
Exemplo n.º 31
0
    def _create_fleet(self):
        """Create the fleet of aliens"""

        #Create an alien and find the number of aliens in a row.
        alien = Alien(self)
        alien_width, alien_height = alien.rect.size
        available_space_x = self.settings.screen_width - (2 * alien_width)
        number_aliens_x = available_space_x // (2 * alien_width)
        #Determine the number of rows of aliens that fit on the screen
        ship_height = self.ship.rect.height
        available_space_y = self.settings.screen_height - (3 * alien_height -
                                                           ship_height)
        number_rows = available_space_y // (2 * alien_height)
        #Create the fleet of aliens
        for row_number in range(number_rows):
            for alien_number in range(number_aliens_x):
                self._create_alien(alien_number, row_number)