啥是佩奇?Python3大战小猪佩奇

啥是佩奇最近火了

  • 啥是佩奇?乍一听很好笑,但笑完之后又很心酸。
  • 什么是佩奇,这个问题并不只有影片中的李玉宝奇怪,可能我们身边的父母和老人都有过这种类似的问题。
  • 小时候,爸爸妈妈是我们的港湾。
  • 长大后,我们是爸爸妈妈的大树。
  • “看过影片之后,我决定这个周末就回家。”长期在大连工作的沈阳26岁小伙曲鸿鹏说。
  • 啥是佩奇?佩奇是爷爷对孙子的爱,也是连接代际之间的一座桥梁,更是老人逢年过节对孩子的翘首以盼。
  • 春节将至,你的“佩奇”在等你回家过年,买好回家的票了吗?

作为编程语言界大火的Python,也来凑一波热点

  • 刚刚开始学Python的时候,
  • 我的女儿(沐言)每天都会看小猪佩奇,我们也会陪着看,前前后后应该每集都看了至少四五遍吧,我想很多爸爸妈妈爷爷奶奶,都也看了很多遍小猪佩奇
  • 十月份,沐言生日的时候,给她买了小猪佩奇全家大礼包,她那种从未出现的惊喜,真的很开心很幸福

小猪佩奇大礼包,佩奇妹妹也来了
在这里插入图片描述
小猪佩奇看小猪佩奇
在这里插入图片描述

Python与小猪佩奇

  • 开始学习编程语言的时候,沐言天天会凑到我的电脑旁,要玩我的电脑
  • 沐言趴在我的电脑就是敲打我的键盘,也会非常开心,因为她玩到电脑了
  • 有时候,我一个人在书房里面用电脑,不让她玩的时候,沐言就会在外面对妈妈说:叔叔在玩电脑
  • 到现在两岁半了,有时候视频电话看见我在玩电脑,就会喊我叔叔
  • 玩电脑的都是叔叔,给她玩才是爸爸
  • 有了小猪佩奇游戏后,每次都会喊爸爸玩电脑,打小猪佩奇
  • 每次玩的都会很开心,满屏幕都是小猪佩奇

进入正题

开始学python时候,做了一个外星人游戏,我相信很多同学也都做过这个游戏,想到女儿喜欢小猪佩奇,又想玩电脑,并且玩电脑就是敲打键盘,我就编写了一个:

大战小猪佩奇

下面是游戏的主程序代码:

# -*- coding: cp936 -*-
# 创建一个空的Pygame窗口

import pygame
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
from pygame.sprite import Group

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("Alien Invasion")
    
    # 创建一个Play按钮,由于游戏开始前创建,放在最前面
    play_button = Button(ai_settings, screen, "PLAY")
    
    # 创建一艘飞船的实例,ship就是屏幕上创建的一艘飞船,
    # ship是一个实例的名称,该ship与模块ship的名称无关
    ship = Ship(ai_settings, screen)
    
    # 创建一个用于存储子弹的编组,Group类,类似于列表,用于添加每一颗子弹,用于后期的管理
    bullets = Group()
    
    # 创建一个外星人编组,用于添加每一个外星人
    aliens = Group()
    
    # 创建外星人群
    gf.create_fleet(ai_settings, screen, ship, aliens)
    
    # 创建一个用于存储游戏统计信息的实例,并创建计分牌
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)
    
    # 开始游戏的主循环
    while True:
        
        # 检查玩家的输入,监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship, 
            aliens, bullets)
        
        # 游戏处于活动状态时,执行以下程序,飞船用完,游戏就停止不动了
        if stats.game_active:
            
            # 更新飞船的位置
            ship.update() #调用ship实例中的方法update,ship是一个实例,而不是ship模块
            
            # 更新所有未消失子弹的位置
            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()

游戏运行后的效果:
在这里插入图片描述
在这里插入图片描述
游戏需要的模块
pygame
下载安装
以下模块都是自己编写
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
from pygame.sprite import Group

游戏源代码

GiHub网站下载
https://github.com/FangbaiZhang/alien_invasion
我的个人博客,欢迎关注:
https://blog.csdn.net/u011318077

祝大家新年快乐,大年初一去看小猪佩奇过大年
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值