植物大战僵尸2 #
- 游戏创建
- 游戏提示文本绘制
- 主程序启动
游戏创建 #
本小节主要介绍创建游戏的方法,包括引入需要的模块,配置图片路径,设置界面宽高背景颜色,创建游戏入口,创建关数,得分,剩余分数,钱数,初始化所有物品参数等。
#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()
小结 #
本节主要介绍了植物大战僵尸游戏的界面游戏创建、提示文本绘制和程序启动方法