首页 > 编程语言 >啥是佩奇?Python3大战小猪佩奇

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

时间:2023-04-06 13:11:32浏览次数:52  
标签:小猪 settings screen 佩奇 import ship Python3


啥是佩奇最近火了

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

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

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

小猪佩奇大礼包,佩奇妹妹也来了

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


小猪佩奇看小猪佩奇

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

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()

游戏运行后的效果:

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


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


游戏需要的模块

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

祝大家新年快乐,大年初一去看小猪佩奇过大年

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


标签:小猪,settings,screen,佩奇,import,ship,Python3
From: https://blog.51cto.com/u_14990501/6172643

相关文章

  • Linux系统安装python3.8与卸载教程
    一、安装python解释器1.获取系统版本信息首先,查看Linux系统版本信息:[root@oldboy~]#cat/proc/versionLinuxversion4.18.0-240.1.1.el8_3.x86_64([email protected])(gccversion8.3.120191121(RedHat8.3.1-5)(GCC))#1SMPThuNov1917:20......
  • Win10(CPU)+ Anaconda3 + python3.9安装pytorch
    Win10(CPU)+Anaconda3+python3.9安装pytorch1.安装Anaconda31.1下载Anaconda3可以在官网下载Anaconda3-2022.05-Windows-x86_64.exe,这个版本对应的是python3.9。1.2安装Anaconda3此步骤比较简单,双击.exe文件,一步一步执行即可,有不确定的可以自行百度,教程比较多,但基本一致......
  • python3里面实现将日志文件写入当前脚本运行的文本中
    在Python3中,可以使用logging模块来实现将日志写入本地文本文件中。下面是一个简单的示例代码:importlogging#配置logging模块logging.basicConfig(level=logging.DEBUG,filename='example.log',format='%(asctime)s%(leve......
  • Python3内置函数之R系列
    1、range()在Python中,range()函数用于创建一系列数字的序列,常用于for循环中,可以接受1到3个参数,具体形式如下:range(stop):表示生成从0开始到stop-1结束的整数序列,步长为1。range(start,stop):表示生成从start开始到stop-1结束的整数序列,步长为1。range(start,stop,step)......
  • Python3内置函数之P系列
    1、pow()pow()函数是Python内置函数之一,用于计算一个数的幂。它接受两个参数,第一个参数为底数,第二个参数为指数,如果提供第三个参数,则表示对结果取模。 2、print()print()函数是Python内置函数之一,用于输出指定的对象。它可以接受多个参数,用逗号分隔,它们将被依次输出,并且......
  • Python3内置函数之O系列
    1、object()object()是Python的内置函数之一,它返回一个新的object对象。这个对象没有任何特殊的属性或方法,它是所有类的基类,即所有Python类都直接或间接地继承自object类。如果您在Python中定义一个新的类,并且没有明确指定继承哪个类,那么该类将自动成为object类的子类。......
  • Python3内置函数之H系列
    1、hasattr()hasattr()是Python内置函数之一,用于检查一个对象是否具有指定的属性或方法。 2、hash()在Python中,hash()函数用于获取给定对象的哈希值(散列值),即对象的唯一标识符。哈希值是一个整数,具有以下特点:对于同一个对象,在程序的不同执行期间,哈希值保持不变。对于......
  • Window下,利用Anaconda2创建jupyter-notebook的python3环境方法
    转载自:https://www.cnblogs.com/ljy2013/p/8351067.html随着深度学习的火热,越来越多的人去学习和了解这门技术。而做算法的同学为了能够更快,更高效的写出相关的深度学习算法出来,需要比较方便的开发环境。今天主要介绍一下在jupyternotebook中,新增python3的环境,从而可以使用tenso......
  • python3.8下载安装
    https://www.python.org/downloads/windows/打开官网下载python   下好之后安装        ......
  • Python3内置函数之G系列
    1、getattr()getattr()函数是Python内置函数之一,用于获取一个对象的指定属性值。2、globals()globals()是Python内置函数之一,用于返回当前全局作用域中所有变量的字典。这个字典包含了所有已定义的全局变量,键为变量名,值为对应的值。可以通过修改这个字典中的变量来更新全......