跳至正文
View Categories

< 1 min read

植物大战僵尸2 #

  1. 游戏创建
  2. 游戏提示文本绘制
  3. 主程序启动

游戏创建 #

本小节主要介绍创建游戏的方法,包括引入需要的模块,配置图片路径,设置界面宽高背景颜色,创建游戏入口,创建关数,得分,剩余分数,钱数,初始化所有物品参数等。

 #1 引入需要的模块
import pygame
import random
#1 配置图片地址
IMAGE_PATH = 'imgs/'
#1 设置页面宽高
scrrr_width=800
scrrr_height =560
#1 创建控制游戏结束的状态
GAMEOVER = False
#1 主程序
class MainGame():
    #2 创建关数,得分,剩余分数,钱数
    shaoguan = 1
    score = 0
    remnant_score = 100
    money = 200

    #4 存储所有植物的列表
    plants_list = []

    #1 加载游戏窗口
    def init_window(self):
        #1 调用显示模块的初始化
        pygame.display.init()
        #1 创建窗口
        MainGame.window = pygame.display.set_mode([scrrr_width,scrrr_height])

游戏提示文本绘制 #

本小节主要介绍文本绘制的方法,从游戏功能层面上来说是游戏规则的设定和说明。在主程序类class MainGame()中添加文本绘制和帮助提示函数draw_text()和load_help_text()

    #2 文本绘制 
    def draw_text(self, content, size, color):
        pygame.font.init()
        font = pygame.font.SysFont('kaiti', size)
        text = font.render(content, True, color)
        return text

    #2 加载帮助提示
    def load_help_text(self):
        text1 = self.draw_text('1.按左键创建向日葵 2.按右键创建豌豆射手', 26, (255, 0, 0))
        MainGame.window.blit(text1, (5, 5)) 

主程序启动 #

本小节主要介绍游戏主程序的设计及启动。在主程序类class MainGame()中添加开始游戏函数def start_game()。

    #1 开始游戏
    def start_game(self):
        #1 初始化窗口
        self.init_window()
        #1 只要游戏没结束,就一直循环
        while not GAMEOVER:
            #1 渲染白色背景
            MainGame.window.fill((255, 255, 255))
            #2 渲染的文字和坐标位置
            MainGame.window.blit(self.draw_text('当前钱数$: {}'.format(MainGame.money), 26, (255, 0, 0)), (500, 40))
            MainGame.window.blit(self.draw_text(
                '当前关数{},得分{},距离下关还差{}分'.format(MainGame.shaoguan, MainGame.score, MainGame.remnant_score), 26,
                (255, 0, 0)), (5, 40))
            self.load_help_text()

            #9 pygame自己的休眠
            pygame.time.wait(10)
            #1 实时更新
            pygame.display.update()

#1 启动主程序
if __name__ == '__main__':
    game = MainGame()
    game.start_game()

小结 #

本节主要介绍了植物大战僵尸游戏的界面游戏创建、提示文本绘制和程序启动方法