项目名如标题,在《python编程:从入门到实践》里有完整详细的说明,网上也能查到源码,这里只是在重复这种程序
不过学编程,借鉴模仿很重要,即使抄轮子也得抄个像模像样才行,抄到即是学到。
进入正题:
游戏很简单,就是一个打飞机类型的游戏,以下代码将实现游戏的主程序,飞船的基本操作等。
注:这里提醒新上手的萌新,python的代码不要随便复制粘贴!
不要随便复制粘贴!
不要随便复制粘贴!
python的缩进很严格,复制粘贴后一定要注意格式是否正确,否则会报出异常:
IndentationError:unexpectedindent
未知的缩进错误
当出现此提示时,要检查一下哪里的缩进出现了问题,小段的代码还好,大段的代码就呵呵了
注意下载好的文件后缀名为.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/envpython3
#_*_coding:utf-8_*_
#此模块是游戏的主程序
importsys
importgame_functionsasgf#导入game_functions文件,并指定了别名gf
importpygame
fromsettingsimportSettings
fromshipimportShip
frompygame.spriteimportGroup
defrun_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("AlienInvasion")
#把Ship类实例化,用于创建飞船
ship=Ship(ai_settings,screen)
#存储子弹的编组
bullets=Group()
#开始游戏的主循环
whileTrue:
#用于响应鼠标,键盘事件
gf.check_events(ai_settings,screen,ship,bullets)
#更新飞船在屏幕的位置
ship.update()
#更新子弹位置并删除消失的子弹
gf.update_bullets(bullets)
#用于更新屏幕背景色,更新飞船,子弹等
gf.update_screen(ai_settings,screen,ship,bullets)
run_game()#运行游戏