파이썬 프로그래밍의 외계인 침입 (1)
3418 단어 Python
import pygame
from pygame.sprite import Group
from settings import Settings
from game_stats import GameStats
from scoreboard import Scoreboard
from button import Button
from ship import Ship
import game_functions as gf
다음 정의는 게임을 실행하는 함수rungame (), 이 함수에서 다른 클래스와 모듈ai 호출Settings = Settings ()는 Settings의 실례이다. Settings는 이 게임 화면이 초기화된 데이터를 저장한다. 예를 들어 게임 화면이 얼마나 크고 총알이 얼마나 많으며 외계인 속도 등이다.screen = pygame.display.set_mode((ai settings.screen width, ai settings.screen height) 및pygame.display.set_caption("Alien Invasion")은 게임 인터페이스와 게임 이름을 생성합니다.play_button = Button(ai settings, screen, "play)은 Button의 인스턴스입니다."play"버튼;stats = Game Stats(ai settings)는 게임 상태(시작 여부)의 매개 변수가 저장된 Game Stats의 실례이며, sb = Scoreboard(ai settings,screen,stats)는 Scoreboard의 한 예로 득점 정보를 보여주는 데이터가 저장되어 있으며, ship = Ship(ai settings,screen), bullets = Group(), aliens = Group(),gf.creatings settings, fleenshings, alienshiens,주석에 참고할 만한 것이 있다.게임은 변화하는 과정이기 때문에 실시간 탐지와 변화 관련 데이터가 필요합니다.while True에서 이 기능을 순환적으로 수행합니다. gf.check_이벤트(ai settings,screen,stats,sb,play button,ship,aliens,bullets)는 화면, 게임 상태, 마우스, 외계인 등 상황에 따라 상응하는 변화를 측정한다. 예를 들어 키보드에 오른쪽 화살표를 입력했을 때 비행기가 오른쪽으로 날아가는 등이다.비행기 위치, 총알 수량 위치, 외계인 위치ship.update() gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets) gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
이렇게 단추가 달린 블랙박스는 기본적으로 완성되었는데 블랙박스 안에 무엇이 숨겨져 있는지 우리가 더욱 탐구해야 한다.
다음은 블랙박스 전체 프로그램alieninvasion.py
import pygame
from pygame.sprite import Group
from settings import Settings
from game_stats import GameStats
from scoreboard import Scoreboard
from button import Button
from ship import Ship
import game_functions as gf
def run_game():
# pygame,
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
# play
play_button = Button(ai_settings, screen, "play")
#
stats = GameStats(ai_settings)
sb = Scoreboard(ai_settings, screen, stats)
#
ship = Ship(ai_settings, screen)
#
bullets = Group()
#
aliens = Group()
#
gf.creat_fleet(ai_settings, screen, ship, aliens)
#
while True:
#
gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)
if stats.game_active:
ship.update()
gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, bullets)
gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets)
#
gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
run_game()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.