啥是佩奇最近火了
- 啥是佩奇?乍一听很好笑,但笑完之后又很心酸。
- 什么是佩奇,这个问题并不只有影片中的李玉宝奇怪,可能我们身边的父母和老人都有过这种类似的问题。
- 小时候,爸爸妈妈是我们的港湾。
- 长大后,我们是爸爸妈妈的大树。
- “看过影片之后,我决定这个周末就回家。”长期在大连工作的沈阳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
祝大家新年快乐,大年初一去看小猪佩奇过大年