导航:首页 > 编程语言 > python编程外星人游戏代码

python编程外星人游戏代码

发布时间:2022-12-09 22:10:56

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

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

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

希望可以帮助到你~

2. 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对应起来,实现一堆外星人动起来的效果!请采纳!!!!!!


3. 《外星人入侵》的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() #运行游戏

4. python外星人入侵游戏左移正常,右移屏幕上不显示

主要看看向右移动的地方的代码有没有问题:设置向右移动flag self.move_right = False def listening_key_down(self, event):...

5. 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() #运行游戏

6. python程序提示AttributeError属性错误怎么解决

你看class scoreboard里面有self.level吗.如果有的话你试着
1.把文件名字改一下,我看你取的名字也是scoreboard.py,一般不要取和预留命、模块名什么的相同的名字;
2.把已经生成的.pyc文件删了。

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):
"""
监听事件
"""
foreventinpygame.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()

8. python,外星人入侵游戏,Pycharm,pygame,写完了,但是有bug,希望帮我找一下原因

只能说明你复制粘贴的能力还欠缺

9. Python 编程从入门到实践一书中,外星人项目里14章按键

编程没有问题就不会报错!难道你是发现了Python的BUG?另外,最好不要使用中文路径。

10. python开发飞机大战外星人游戏怎么弄双人模式

主函数
import pygamefrom settings import Settingsfrom ship import Shipimport game_function as gffrom pygame.sprite import Groupfrom alien import Alienfrom game_stats import GameStatsfrom button import Buttonfrom scoreboard import Scoreboarddef 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)# 开始游戏主循环while True:gf.check_events(ai_settings, screen, stats, 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, ship, aliens, bullets)gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)run_game()

阅读全文

与python编程外星人游戏代码相关的资料

热点内容
国货哪个品牌最好app 浏览:949
看哪个app给钱最多 浏览:178
编程靠经验吗 浏览:759
c教程pdf下载地址 浏览:573
制作视频哪个app有瘦脸功能 浏览:649
linux查看线程内存 浏览:509
命令行签名apk 浏览:92
网页照片旋转源码 浏览:842
QQ会员头像源码 浏览:263
内核命令行 浏览:324
脚本提取源码器 浏览:930
smo源码 浏览:877
为什么要搭建单独服务器 浏览:480
编译器有什么控制 浏览:893
希尔伯特pdf 浏览:645
php数组全数字 浏览:647
解密塔罗牌小程序源码 浏览:862
聚合跑分源码 浏览:555
注册dns服务器写什么 浏览:881
linux安装deb包 浏览:523