精华内容
下载资源
问答
  • 外星人入侵代码

    2019-02-21 15:36:08
    适合python初学者的外星人入侵项目,对理解python项目、练手python开发有很好的帮助
  • (1)、外星人游戏添加飞船上下移动功能; (2)、尝试为游戏添加爆炸音效和射击音效; (3)、在玩家得分、最高得分、玩家等级前添加"Score"、"High Score"、"Level"三个标签 (4)、添加游戏暂停功能,如按某个...
  • PYTHON游戏编程外星人入侵的完整实现思路,具体内容如下准备工作:下载python,比如Anaconda3(64 bit),导入pygame游戏包1.外星人设置,alien.py,代码:import pygamefrom pygame.sprite import Spriteclass ...

    PYTHON游戏编程外星人入侵的完整实现思路,具体内容如下

    准备工作:下载python,比如Anaconda3(64 bit),导入pygame游戏包

    201704181156515.png

    201704181156516.png

    201704181156517.png

    201704181156518.png

    201704181156529.png

    1.外星人设置,alien.py,代码:

    import pygame

    from pygame.sprite import Sprite

    class Alien(Sprite):

    """表示单个外星人的类"""

    def __init__(self,ai_settings,screen):

    """初始化外星人并设置其他位置"""

    super(Alien,self).__init__()

    self.screen = screen

    self.ai_settings = ai_settings

    #加载外星人图像,并设置其rect属性

    self.image = pygame.image.load('images/alien.bmp')

    self.rect = self.image.get_rect()

    #每个外星人最初都在屏幕左上角附近

    self.rect.x = self.rect.width

    self.rect.y = self.rect.height

    #存储外星人的准确位置

    self.x = float(self.rect.x)

    def blitme(self):

    """在指定位置绘制外星人"""

    self.screen.blit(self.image,self.rect)

    def check_edges(self):

    """如果外星人位于屏幕边缘,就返回True"""

    screen_rect = self.screen.get_rect()

    if self.rect.right >= screen_rect.right:

    return True

    elif self.rect.left <= 0:

    return True

    def update(self):

    """向右移动外星人"""

    self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction)

    self.rect.x = self.x

    2.游戏主程序,alien_invasion.py,代码:

    import pygame

    from settings import Settings

    from game_stats import GameStats

    from button import Button

    from ship import Ship

    from pygame.sprite import Group

    import game_functions as gf

    from scoreboard import Scoreboard

    def run_game():

    pygame.init() # 初始化背景设置

    ai_settings = Settings() # 全局设置

    screen = pygame.display.set_mode( # 创建screen显示窗口

    (ai_settings.screen_width,ai_settings.screen_height)

    )

    pygame.display.set_caption('Alien Invasion') # 标题

    #新建Play按钮

    play_button = Button(ai_settings,screen,"Play")

    #创建一个用于存储游戏统计信息的实例,并创建记分牌

    stats = GameStats(ai_settings)

    sb = Scoreboard(ai_settings, screen, stats)

    # 创建飞船

    ship = Ship(ai_settings,screen)

    # 创建子弹编组

    bullets = Group()

    #创建一个外星人

    aliens = Group()

    #创建外星人群

    gf.create_fleet(ai_settings,screen,ship,aliens)

    # 开始游戏主循环

    while True:

    # 监视键盘和鼠标事件

    gf.check_events(ai_settings,screen,stats,sb,play_button,ship,aliens,bullets)

    if stats.game_active:

    # 移动飞船

    gf.update_ship(ship)

    # 更新子弹位置

    gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets)

    #更新外星人

    gf.update_aliens(ai_settings,stats,screen,sb,ship,aliens,bullets)

    # 更新屏幕

    gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,play_button)

    run_game()

    展开全文
  • 这里给大家亲测可用的《python编程:从入门到实践》13.1-14.3的全部代码。具体的代码可能会和书上的稍有不同,主要是计分环节的前面加了“highest”、“current”、“level”的字符串,其他基本是相同的。代码中会有...
  • python教程中外星人入侵全部代码,已跑通,可供参考,游戏图片为网上找的,可自行修改,编辑器为geany
  • 外星人入侵项目,亲自敲下并运行过的,包括了图片资源。整个项目打包过来,打分功能请自行学完后自己动手完善。
  • python外星人入侵

    2018-08-10 10:59:02
    Python编程从入门到实践,,外星人入侵的程序代码,后续资料之后再上传,上传的只是其中一个模块
  • Python外星人入侵完整代码和注释(一)

    千次阅读 2018-07-27 18:17:25
    外星人入侵游戏包括一个主运行程序(alien_invasion.py)和八个模块。 一、主运行程序(alien_invasion.py) 1、创建alien_invasion.py(import sys和import pygame) 2、方法run_game() 初始化游戏并创建一...

    本外星人入侵游戏包括一个主运行程序(alien_invasion.py)和八个模块。

    一、主运行程序(alien_invasion.py)

    1、创建alien_invasion.py(import sys和import pygame)

    2、方法run_game()   

    初始化游戏并创建一个屏幕对象(是该项目的主程序入口)

    while True :开始游戏主循环   event :监视键盘和鼠标事件

    pygame.display.flip() :让绘制的屏幕可见

    主要代码

    从主运行程序中,导入其它八个模块

    import sys
    import pygame
    from settings import Settings
    from game_stats import GameStats
    from ship import Ship
    import game_functions as gf
    from pygame.sprite import Group
    from alien import Alien
    from button import Button
    from scoreboard import Scoreboard
    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")
        #创建一个用于存储游戏统计信息的案例,并创建记分牌
        stats = GameStats(ai_settings)
        sb = Scoreboard(ai_settings,screen,stats)
        #创建一艘飞船、一个子弹编组和一个外星人编组
        ship = Ship(ai_settings,screen)
        bullets = Group()
        aliens = Group()
        #创建外星人群
        gf.create_fleet(ai_settings,screen,ship ,aliens)
        #设置背景颜色
        #bg_color = (230,230,230)
        #创建一个外星人
        alien = Alien(ai_settings,screen)
        #开始游戏的主循环
        while True:
            #主循环检查玩家的输入
            gf.check_events(ai_settings,screen,stats,sb,play_button,ship,aliens,bullets)
            if stats.game_active:
                #更新飞船的位置
                ship.update()
                #所有未消失的子弹的位置
                gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets)
                #更新外星人的位置
                gf.update_aliens(ai_settings,stats,screen,sb,ship,aliens,bullets)
            #更新后的位置来绘制新屏幕
            gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,play_button)
    
    
    run_game()
    
    
    

    点击链接 https://blog.csdn.net/ljt101222/article/details/81252399  进入Python外星人入侵完整代码和注释(二)

     

     

    展开全文
  • 外星人入侵python代码

    2020-07-27 13:44:01
    玩家控制飞船移动,空格打飞机,消灭外星人进入下一关卡,在原有的基础上添加了上下移动的命令,可以让飞船上下移动,里面的内容添加了更多的注释帮助理解
  • 外星人入侵Python

    2018-05-24 00:30:07
    该压缩包里面是完整的用Python语言编写的《外星人入侵》小游戏的程序代码,程序开发环境win10+python3.6 ,亲测可运行。
  • 外星人入侵(python).rar

    2019-10-01 14:12:12
    外星人入侵,一个小游戏,根据书本源代码编写,增加了上下移动的功能,初学Python的同学可以拿去试试练练手。
  • <p style="text-align:center"><img alt="" height="441" src="https://img-ask.csdnimg.cn/upload/1616737073568.png" width="984" /></p> 上面这个是ship.py文件的错误,定义blitme函数一直有问题 ...
  • 大概八个月以前就跟着书上写完了外星人入侵的小游戏,但是在打包的时候遇到了各种问题,打包完成开始游戏时总是黑屏然后闪退,前两天看到有位同学写完这个项目发布的博客,我在评论区留下了自己魔改了一点的…收获了...

    写在前面

    大概八个月以前就跟着书上写完了外星人入侵的小游戏,但是在打包的时候遇到了各种问题,打包完成开始游戏时总是黑屏然后闪退,前两天看到有位同学写完这个项目发布的博客,我在评论区留下了自己魔改了一点的…收获了40多个赞,于是我又搜索了一下如何才能正确打包,现在分享给大家。

    Title

    1:源码和文件

    百度网盘
    提取码:hr64
    今天注册github一直报错,收不到验证邮件…

    2:解决黑屏问题

    在scoreboard.py中,将

    self.font = pygame.font.SysFont(None,48)
    

    修改为:

    self.font = pygame.font.SysFont('arial',24)
    

    48和24是字号,可以自行调整,48好像有点大我就改成了24.

    3:如何打包

    需要安装pyinstaller模块,安装方式:
    在命令行窗口输入:
    pip install pyinstaller
    然后利用cd命令切换到代码所在目录
    输入以下命令,然后回车:

    pyinstaller -Fw alien_invasion.py -p alien.py -p bullet.py -p button.py -p game_functions.py -p game_stats.py -p scoreboard.py -p settings.py -p ship.py
    

    -F:打包成单个可执行文件
    -w:在运行游戏时不显示命令行窗口
    -i xxx.ico:可以自定义图标
    打包完成的文件存放在dist目录下
    将images和musics文件夹拷贝进去即可运行
    打包时会生成xxx.spec文件
    再次打包时只需执行以下命令:
    pyinstaller -F xxx.spec

    4:解决打包过大问题

    由于pyinstaller打包时会将所有安装过的模块都打包进去,所以可执行文件会显得十分臃肿,第一次打包完成有30M,挺吓人的,解决办法就是建立一个虚拟环境(总不能买一台新电脑吧…)。
    win加R打开cmd,cd到自己想要保存虚拟环境的目录,输入以下命令:
    py -3 -m venv venv
    venv就是虚拟环境的名字
    然后输入venv\Scripts\activate激活虚拟环境
    在虚拟环境下使用pip安装用到的第三方包,比如本例中只用到了pygame,所以只需要pip install pygame即可。
    另外还需要重新安装pyinstaller(pip install pyinstaller),不然会自动调用电脑中现存的模块,打包出来依然很臃肿。
    最后利用cd命令切换到py文件存放目录进行打包,把文件拷贝到虚拟环境目录下也可。
    deactivate退出虚拟环境,无用的虚拟环境可以直接删除。
    ps:pipenv提供的虚拟环境也很好用,需要先:
    pip install pipenv安装该模块
    然后在命令行窗口输入:
    pipenv install创建新的虚拟环境,接着:
    pipenv shell进入虚拟环境
    或者省略pipenv install,因为没有虚拟环境的时候会自动创建一个,剩下的步骤同上。
    如果下载速度过慢可以使用以下命令:
    pipenv install --skip-lock 包名
    最后,pipenv --rm删除已有的虚拟环境。

    写在后面

    最后打包完成有8M多,这个大小应该还可以了。。。。
    希望不会被律师函警告吧。。。。

    8.28日更新

    不久前加了个背景音乐暂停功能,今天想重新打包一下,结果一直报错,类似于音乐文件不存在,百度一番后,说是因为解释器比较新,确实不久前我换成了3.8.5,直接运行不会报错,但是这个版本下使用pyinstaller打包后无法加载mp3和ogg格式的文件。那么解决办法有如下两种:
    1 使用3.6.5版本的python解释器,亲测可用
    2 将音乐文件转换为wav格式(暂未测试)

    展开全文
  • 主要为大家详细介绍了Python外星人入侵游戏编程完整的实现思路,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python外星人入侵游戏

    2019-03-14 20:16:20
    使用python3.6所编写的一个游戏。其中用到了pygame第三方库,有兴趣的同学可以下载看看或者玩玩。已用pycharm测试,可以运行。
  • 在本节中,我们将创建一个名为game_functions 的新模块,它将存储大量让游戏《外星人入侵》运行的函数。通过创建模块game_functions ,可避免alien_invasion.py太长,并使其逻辑更容易理解。将check_events() 和...

    61b5f586-32d2-4aac-9ada-add77e379316.gif

    用法分析

    在大型项目中,经常需要在添加新代码前重构既有代码。重构旨在简化既有代码的结构,使其更容易扩展。在本节中,我们将创建一个名为game_functions 的新模块,它将存储大量让游戏《外星人入侵》运行的函数。通过创建模块game_functions ,可避免alien_invasion.py太长,并使其逻辑更容易理解。

    将check_events() 和update_screen放在一个名为game_functions 的模块中

    代码实例

    #======================================================

    #功能:game_functions类

    #作者:python小哥#时间:2020-7-5

    #微信公众号:DJXY00001

    #微信名称:Python提升课堂#Version:1.0

    #======================================================

    import sysimport pygamedef check_events():"""响应按键和鼠标事件"""for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()def update_screen(ai_settings, screen, ship):"""更新屏幕上的图像,并切换到新屏幕"""# 每次循环时都重绘屏幕screen.fill(ai_settings.bg_color)ship.blitme()# 让最近绘制的屏幕可见pygame.display.flip()

    这个模块中导入了事件检查循环要使用的sys 和pygame 。当前,函数check_events() 不需要任何形参,其函数体复制了alien_invasion.py的事件循环。

    下面来修改alien_invasion.py,使其导入模块game_functions ,并将事件循环替换为对函数check_events() 的调用。屏幕更新代码替换为update_screen函数。

    #======================================================#功能:alien_invasion类

    #作者:python小哥#时间:2020-7-5

    #微信公众号:DJXY00001

    #微信名称:Python提升课堂#Version:1.0

    #======================================================

    import pygamefrom settings import Settingsfrom ship import Shipimport game_functions as gfdef run_game():--snip--# 开始游戏主循环while True:gf.check_events()gf.update_screen(ai_settings, screen, ship)

    其中--snip--代表延续前节的内容。

    在主程序文件中,不再需要直接导入sys ,因为当前只在模块game_functions 中使用了它。出于简化的目的,我们给导入的模块game_functions 指定了别名gf 。

    代码运行输出:

    cc243836-4a6e-4de6-835d-113afc6084e2.png

    我们一开始只想使用一个文件,因此没有立刻引入模块game_functions 。这让你能够了解实际的开发过程:一开始将代码编写得尽可能简单,并在项目越来越复杂时进行重构。

    对代码进行重构使其更容易扩展后,可以开始处理游戏的动态方面了!

    说明:关注本公众号,回复数字,得对应年月讲解案例的所有代码,规则为年的后两位+月份

    如:2002,代表2020年2月,2003,代表2020年3月,依此类推(代码从2020年2月开始,截止目前月份的上一个月为止)

    0ba9f490-47ea-41e2-9328-08ba909212bb.jpg

    长按二维码

    查看更多吧

    644c9e0c-5519-4370-866a-223f438c4aaa.png

    展开全文
  • Python 外星人入侵代码小测试 最近学习Python期间闲来无事,在Python外星人入侵的代码上尝试一点小测试,增加了飞船前进后退以及外星人随机产生的代码,仅供个人娱乐,以下是个人写的一段小程序。 修改部分子函数 ...
  • 学习《Python编程:从入门到实践》有段时间了,跟着书本把所有代码都敲了一遍,感悟很深,现在完成了《外星人入侵》项目,对于库、类、函数、方法都有一定的理解,现在将该项目完整代码分享出来,以供学习。...
  • 外星人入侵代码

    2019-02-21 11:55:18
    学习python的入门练手项目-外星人入侵-源码,适合python初学者
  • Python外星人入侵完整代码和注释(四)

    千次阅读 2018-07-27 19:46:21
    6、函数update_aliens() : 检查是否有外星人位于屏幕边缘,并更新外星人群中所有外星人的位置 等等一些函数,代码有详细注释,就不一个个列出来了 每当用户按键时,都在pygam中注册一个KEYDOWN事件,事件都是...
  • Python编程——从入门到实践外星人入侵项目代码,内含各个代码文件,包括外星人入侵项目中需要用到的图片
  • 2 * alien.rect.height *row_number aliens.add(alien)defcreate_fleet(ai_settings,screen,ship,aliens):"""创建外星人群""" #创建一个外星人,并计算一行可以容纳多少个外星人 #外星人间距为外星人宽度 alien =...
  • 学习Python从入门到实践,总结完整项目1-外星人入侵完整版,分享大家,共同学习。 alien_invasion.py import pygame from settings import Settings from game_stats import GameStats from scoreboard import ...
  • 从三月开始看《python:从入门到实践》自学python,踏入编程的世界,已经过去两个多月了,学完基础知识之后开始学习游戏项目《外星人入侵》。 外星人入侵:在游戏《外星人入侵》中,玩家控制着一艘最初出现在屏幕底部...
  • Boss外星人,它是一个不同于其他普通飞船的怪物,具体见代码 代码文件目录: alien_invation.py: game_functions.py: settings.py: game_stats.py: alien.py: ship.py: bullet.py: scoreboar...
  • python外星人入侵(游戏开发)

    万次阅读 2019-06-06 13:12:58
    python外星人入侵(游戏开发) 外星人游戏添加飞船上下移动功能: 功能源代码: 以上代码是在game_functions.py里监听键盘的点击事件,并且通过check_events响应按键和鼠标事件。 在ship.py中编写飞船初始...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 891
精华内容 356
关键字:

python外星人入侵代码

python 订阅