当前位置:首页 » 编程语言 » python外星人入侵

python外星人入侵

发布时间: 2023-04-09 23:09:06

python外星人入侵代码运行正常,但是黑屏的原因

我首先安装好了pyinstaller:在cmd中告裂输入:pip install PyInstaller
二:cmd切换到alien_invasion目录下,在cmd中输入:pyinstaller -p alien_invasion -p alien.py -p bullet.py… 结果是运行不了闪退

三:然后我用另一种,我切换到alien_invasion目录下,在cmd输入:pyinstaller -F alien_invasion -p alien.py -p bullet.py…这一次可以了。(-F后面接的是主文件,后面要接上其他所有的文件,-F、-p前后都有空格)

四:但是还没完,第三种比第二种好很多,起码不闪退了,但是窗口是黑色袜皮闭的,过几秒还自动退出了。我查了查网上,发现是字体问题,把(None,45)诸如握竖此类的None改为‘arial’.在重新进行了第三步打包(把原来的删掉,包括build和dist),就可以了。

⑵ python入门可以做的小游戏

1、Python入门拼图小游戏
简单介绍:
将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状。
2、Python入门推箱子小游戏
简单介绍:
这是来自日本的一个经典游戏,在狭小的仓库中,要求把木箱放到指定的位置,如果不小心就可能出现箱子无法移动或者通道被堵的情况,所以,如何巧妙利用有限的空间和通道,合理安排移动顺序,就成了这个游戏能否通关的关键。
3、Python入门小游戏之外星人入侵
简单介绍:
玩家可以通过鼠标控制飞船的移动和射击,如果能在敌人达到游戏界面低端之前消灭所有敌人,则游戏胜利,否则游戏失败。
4、Python入门小游戏之吃豆子
简单介绍:
通过键盘方向键,控制游戏的人物吃豆人,吃掉藏在迷宫内的所有豆子,并且不能被敌人抓到。
5、Python入门小游戏之宝石消消乐
简单介绍:
玩家通过鼠标交换相邻的拼图,若交换后,在水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分。
6、Python入门小游戏之乒乓球对战
简单介绍:
中间是球网,玩家通过上下键移动球拍,并且这个游戏是可以两个人玩的哦。
7、还有其他四个游戏
它们是:炸弹人小游戏、逃出迷宫、飞扬的小鸟、五子棋

⑶ python外星人入侵游戏左移正常,右移屏幕上不显示,但实际上已经移动了


主要看看向右移动的地方的代码有没有问题:

#设置向右移动flag
self.move_right=False
deflistening_key_down(self,event):
"""
监听key_down事件
:paramevent:
"""
ifevent.key==pygame.K_RIGHT:
self.air_ship.move_right=True
elifevent.key==pygame.K_LEFT:
self.air_ship.move_left=True

deflistening_key_up(self,event):
"""
监听key_up事件
:paramevent:
"""
ifevent.key==pygame.K_RIGHT:
self.air_ship.move_right=False
elifevent.key==pygame.K_LEFT:
self.air_ship.move_left=False

defmove(self):
"""
更新飞船横轴位置,实现左右移动
"""
ifself.move_rightandself.air_ship_rect.right<=self.screen_rect.right:
self.center+=self.speed_factorifself.move_leftandself.air_ship_rect.left>=self.screen_rect.left:
self.center-=self.speed_factor
self.air_ship_rect.centerx=self.center

deflistening_game_event(self):
"""
监听事件
丛棚姿"""
for渗绝eventinpygame.event.get():ifevent.type==pygame.QUIT:
pygame.quit()
sys.exit()elifevent.type==pygame.KEYDOWN:
self.listening_key_down(event)elifevent.type==pygame.KEYUP:
self.listening_key_up(event)

#游戏主循环
whileTrue:self.listening_game_event()self.air_ship.move()和让self.update_game_screen()

⑷ Python从入门到实践里的《外星人入侵》

项目名如标题,在《python编程:从入门到实践》里有完整详细的说明,网上也能查到源码,这里只是在重复这种程序

不过学编程,借鉴模仿很重要,即使抄轮子也得抄个像模像样才行,抄到即是学到。

进入正题:

游戏很简单,就是一个打飞机类型的游戏,以下代码将实现游戏的主程序,飞船的基本操作等。

注:这里提醒新上手的萌新,python的代码不要随便复制粘贴!

不要随便复制粘贴!

不要随便复制粘贴!

python的缩进很严格,复制粘贴后一定要注意格式是否正确,否则会报出异常:

IndentationError: unexpected indent

未知的缩进错误

当出现此提示时,要检查一下哪里的缩进出现了问题,小段的代码还好,大段的代码就呵呵了

注意下载好的文件后缀名为.whl

然后新建一个文件夹,名字叫alien_invasion,将下载好的模块放在此文件夹下,

然后你要新建以下文件:

1.alien_invasion.py 游戏主程序

2.game_functions.py 存放游戏函数

3.bullet.py 子弹模块

4.settings.py 游戏设置模块

5.ship.py 飞船模块

然后新建images文件夹存放飞船素材。

这些会让我们实现启动游戏,飞船的显示与移动,以及开火功能。

为避免文章冗~长,这里贴一段主程序代码,其它代码下周见(偷懒)。

alien_invasion.py

#!usr/bin/env python3
#_*_ coding:utf-8 _*_

#此模块是游戏的主程序

import sys

import game_functions as gf #导入game_functions文件,并指定了别名gf

import pygame

from settings import Settings
from ship import Ship
from pygame.sprite import Group

def run_game():

# 初始化游戏并创建一个屏幕对象

pygame.init() #pygame的init函数,用于创建一个游戏对象

#把Setting类实例化
ai_settings = Settings()

#显示游戏窗口并设置其大小
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))

#设置窗口标题
pygame.display.set_caption("Alien Invasion")

# 把Ship类实例化,用于创建飞船
ship = Ship(ai_settings,screen)
#存储子弹的编组
bullets = Group()

#开始游戏的主循环
while True:
#用于响应鼠标,键盘事件
gf.check_events(ai_settings,screen,ship,bullets)
#更新飞船在屏幕的位置
ship.update()
#更新子弹位置并删除消失的子弹
gf.update_bullets(bullets)
#用于更新屏幕背景色,更新飞船,子弹等
gf.update_screen(ai_settings,screen,ship,bullets)


run_game() #运行游戏

⑸ 《外星人入侵》的python完整代码


项目名如标题,在《python编程:从入门到实践》里有完整详细的说明,网上也能查到源码,这里只是在重复这种程序

不过学编程,借鉴模仿很重要,即使抄轮子也得抄个像模像样才行,抄到即是学到。

进入正题:

游戏很简单,就是一个打飞机类型的游戏,以下代码将实现游戏的主程序,飞船的基本操作等。

注:这里提醒新上手的萌新,python的代码不要随便复制粘贴!

不要随便复制粘贴!

不要随便复制粘贴!

python的缩进很严格,复制粘贴后一定要注意格式是否正确,否则会报出异常:

IndentationError: unexpected indent

未知的缩进错误

当出现此提示时,要检查一下哪里的缩进出现了问题,小段的代码还好,大段的代码就呵呵了

注意下载好的文件后缀名为.whl

然后新建一个文件夹,名字叫alien_invasion,将下载好的模块放在此文件夹下,

然后你要新建以下文件:

1.alien_invasion.py 游戏主程序

2.game_functions.py 存放游戏函数

3.bullet.py 子弹模块

4.settings.py 游戏设置模块

5.ship.py 飞船模块

然后新建images文件夹存放飞船素材。

这些会让我们实现启动游戏,飞船的显示与移动,以及开火功能。

为避免文章冗~长,这里贴一段主程序代码,其它代码下周见(偷懒)。

alien_invasion.py

#!usr/bin/env python3
#_*_ coding:utf-8 _*_
#此模块是游戏的主程序
import sys
import game_functions as gf #导入game_functions文件,并指定了别名gf
import pygame
from settings import Settings
from ship import Ship
from pygame.sprite import Group
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init() #pygame的init函数,用于创建一个游戏对象
#把Setting类实例化
ai_settings = Settings()
#显示游戏窗口并设置其大小
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))
#设置窗口标题
pygame.display.set_caption("Alien Invasion")
# 把Ship类实例化,用于创建飞船
ship = Ship(ai_settings,screen)
#存储子弹的编组
bullets = Group()
#开始游戏的主循环
while True:
#用于响应鼠标,键盘事件
gf.check_events(ai_settings,screen,ship,bullets)
#更新飞船在屏幕的位置
ship.update()
#更新子弹位置并删除消失的子弹
gf.update_bullets(bullets)
#用于更新屏幕背景色,更新飞船,子弹等
gf.update_screen(ai_settings,screen,ship,bullets)
run_game() #运行游戏

⑹ Python外星人入侵问题求助

你好,我也遇到雀宏了同样的问题。debug可以发现其实你的程序仍然是36个外星人,但是每行外星人的位置重合导致了显示结果看起来只有一列外星人响应。这是由于每个外星人的初始位置相同。

我当初写的大档时候理所当然地在def create_alien中(该函数目的是生成一组外星人),对函数体中每个alien的位置都是用精灵的实际位置计算,即alien.rect.x和alien.rect.y。但你可以观察到Alien类的update函数计算对象是alien.x, 所以你可能需要顷仿册在别的文件中补上这个关键的中间变量,加上这句话(图中红字):alien.x=alien.rect.x

这样才能够将真实的位置alien.rect.x和我们数学计算的变量alien.x对应起来,实现一堆外星人动起来的效果!请采纳!!!!!!


⑺ 0基础自学python,有入门书籍推荐下么

1、《Python编程:入门到实践》

书中内容分为基础篇和实战篇两部分。基础篇介绍基本的编程概念,实战篇介绍如何利用新学到的知识开发功能丰富的项目:2D游戏《外星人入侵》,数据可视化实战,Web应用程序。

推荐理由:这本书,书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有”动手试一试”环节。理论和实践恰到好处,行文逻辑流畅,不跳跃,手把手教的感觉,却绝不_嗦,非常适合入门。

2、《Python基础教程》

这本书内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序陪正员提升技能,适合各个层次的Python开发人员阅读参考。最后几章的10各项目更是这本书最大的亮点,不仅实用而且讲解到位。

3、《笨方法学Python》

这是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书衫镇以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。

推荐理由:编程入门的必备书,从一个个的小例子入手,不仅是教你写Python代码,还有编程的技巧。

4、《Python编程快速上手》

本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。同时,每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。

推荐理由:本书尤其适合缺乏编程基础或乱粗的初学者,语法使用Python3,书中不仅介绍了Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。有其它编程语言经验的同学,也可以直接看着本书快速了解Python可以做什么,语法问题可以边做东西边查!

5、《Python核心编程》

书中内容总共分为3部分。

第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程等。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、DjangoWeb框架等。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。

推荐理由:它仔细、深入地剖析了一些重要的Python主题,而且读者无需大量的相关经验也能看懂。与所有其他Python入门类图书不同的是,它不会用隐晦、难以理解的文字来折磨读者,而是始终立足于帮助读者牢固掌握Python的语法和结构。

想要快速入门Python开发,仅靠看书怎么够,毕竟编程最重要的就是练习。

⑻ 外星人入侵python代码编写出错求大神指导

答: pygame里面都是有init()这个函数的,但是错误提示却是这个模块没有init这个方法。那我觉得你可以按以下步骤去检查一下。

  1. 确保自己有没有安装pygame这个模块,安装命令是pip install pyname,或者pip3 install pygame,如果你是用anaconda的话,也可以用conda install pyname来安装;
  2. 仔细再检查一下,你有没有重名的文件pyname,之前我也是认为没有的,后来自己看了一下,真的猛铅有一个重名的,你根据那个报错路径去看一看姿知慧。
  3. 如果迹答还不行的话,你干脆重建一个项目目录,再试试,或者重装那个模块。

希望可以帮助到你~

热点内容
如何给word文件加密码 发布:2024-11-02 06:21:10 浏览:717
台达模拟量编程 发布:2024-11-02 06:19:41 浏览:410
23456解压 发布:2024-11-02 06:19:40 浏览:183
我的世界服务器个人创造在哪里 发布:2024-11-02 06:10:36 浏览:638
增霸卡的密码是多少 发布:2024-11-02 06:06:18 浏览:813
传奇天下第一完整脚本 发布:2024-11-02 06:04:03 浏览:586
javago性能 发布:2024-11-02 05:51:47 浏览:862
国内ip代理服务器设置方式 发布:2024-11-02 05:42:42 浏览:842
线刷包文件夹 发布:2024-11-02 05:35:35 浏览:626
银行家算法的安全性算法 发布:2024-11-02 05:20:15 浏览:598