Python Fat Chicken Battle 개발 기록 (11) : 적 닭의 출현

1. 게임 기능을 종료하기 위해 Q 키
추가 추가 : \ game_functions.py-def check_keydown_events (event, fcw_settings, screen, chicken, bullets) :

    elif event.key == pygame.K_q:
        sys.exit()

2. 적군 클래스
\ images \ enemy.png 생성 :
여기에 사진 설명 삽입
신규 : \ enemy.py :

import pygame
from pygame.sprite import Sprite


class Enemy(Sprite):
    """敌鸡类"""

    def __init__(self, fcw_settings, screen):
        """初始化敌鸡并设置其起始位置"""
        super(Enemy, self).__init__()
        self.screen = screen
        self.fcw_settings = fcw_settings

        # 加载敌鸡图像,并设置rect属性
        self.image = pygame.image.load('images/enemy.png')
        self.rect = self.image.get_rect()

        # 每个敌鸡最初都在左上角附近
        self.rect.x = self.rect.width
        self.rect.y = self.rect.height

        # 存储敌鸡准确位置
        self.x = float(self.rect.x)

    def blitme(self):
        """在指定位置绘制敌鸡"""
        self.screen.blit(self.image, self.rect)

3. 적 닭
업데이트 의 인스턴스를 만듭니다 : \ FatChickenWars.py :

...
from enemy import Enemy
...
	 # 创建一只肥鸡
    chicken = Chicken(screen, fcw_settings)
    # 创建子弹编组
    bullets = Group()

    # 创建一只敌鸡
    enemy = Enemy(fcw_settings, screen)
...
		# 更新画面
        gf.update_screen(fcw_settings, screen, chicken, enemy, bullets)
...

4. 적 닭이 화면에 나타나게합니다.
업데이트 : \ game_functions.py-def update_screen () :

def update_screen(fcw_settings, screen, chicken, enemy, bullets):
    """更新画面"""
    # 绘制
    screen.fill(fcw_settings.bg_color)
    for bullet in bullets.sprites():
        bullet.draw_bullet()
    chicken.blitme()
    enemy.blitme()

    # 显示
    pygame.display.flip()

우수한 결과
일대일 대 일대일, 내가 시작했을 때 그는 울었습니다. (수동 슬라이드 치킨)

2021.1.22

추천

출처blog.csdn.net/k1095118808/article/details/112992541