一、创建设置(Settings)类
新建:\settings.py:
class Settings:
"""存储所有的设置"""
def __init__(self):
"""初始化游戏设置"""
# 屏幕设置
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (230, 230, 230)
更新:\FatChickenWars.py:
import...
from settings import Settings
def run_game(): # 游戏初始化
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
pygame.display.set_caption("肥鸡大战")
...
while True:#主循环
...
# 填充背景色
screen.fill(ai_settings.bg_color)
...
调试无误。
二、创建肥鸡(Chicken)类
1.找张帅气的肥鸡图
\images\QQChicken.png:
有如此强鸡,何愁战之不胜?
2.肥鸡(Chicken)类
新建:\chicken.py:
import pygame
class Chicken():
def __init__(self, screen):
"""肥鸡初始化"""
self.screen = screen
# 加载肥鸡图像并获取其外接矩形
self.image = pygame.image.load('images/QQChicken.png')
self.rect = self.image.get_rect()
self.screen_rect = screen.get_rect()
# 将肥鸡放在屏幕底部中央
self.rect.centerx = self.screen_rect.centerx
self.rect.bottom = self.screen_rect.bottom
def blitme(self):
"""在指定位置绘制肥鸡"""
self.screen.blit(self.image, self.rect)
更新:\FatChickenWars.py:
import sys
import pygame
from settings import Settings
from chicken import Chicken
def run_game(): # 游戏初始化
pygame.init()
fcw_settings = Settings()
screen = pygame.display.set_mode((fcw_settings.screen_width, fcw_settings.screen_height))
pygame.display.set_caption("肥鸡大战")
# 创建一只肥鸡
chicken = Chicken(screen)
# 主循环
while True:
# 监视键盘和鼠标事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# 填充背景色
screen.fill(fcw_settings.bg_color)
chicken.blitme() # 绘制鸡
# 刷新屏幕
pygame.display.flip()
run_game()
效果极其优雅。
2021.1.20