急速返航

Python海龟宝典含200多个原创的用turtle模块制作的创意程序,原名《Python趣味编程200例》。准备参加全国创意编程与智能设计大赛的同学们可以用来做参考。

李兴球Python rocket

这是一个躲避类型游戏,让火箭安全返回地球! 下面是部分代码

"""
   急速返航.py
   这是一个躲避小游戏。
   太空火箭执行完任务后要返回地球。
   可是地球周围布满了太空垃圾,唉,都是人类自己造的孽啊。
   请按左右方向箭头,操作火箭避开垃圾,成功返航。
   本程序用到了爆炸函数,注意它有一个times参数,这是爆炸次数!
   本程序需要Python精灵模块v1.36版本支持。如果没有安装,请在cmd输入以下命令安装。   
   pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites  --upgrade
"""
from sprites import *                      # 从精灵模块导入所有命令
from pygame import mixer                   # 从pygame模块导入混音器

mixer.init()                               # 混音器初始化
deathsnd = mixer.Sound('res/DEATH.wav')    # 实例化死亡声效
mixer.music.load('res/未开始音乐.mp3')     # 加载音乐 
mixer.music.play(-1,0)                     # 循环播放音乐

lines = ['res/line1.png','res/line2.png','res/line3.png']

screen = Screen()                          # 生成屏幕对象
screen.setup(480,360)                      # 设置屏幕宽高
screen.title('急速返航_躲避游戏_李兴球博客')
screen.bgpic('res/星空.png')               # 设置屏幕背景图 

earth = Sprite('earth',pos=(0,380))         # 地球角色 
# endpic是最后要显示的图片
endpic = Sprite(['res/成功.png','res/失败.png'],
                visible=False,pos=(0,1000))

line = Sprite(lines,visible=False)          # 新建线条角色
dynamic_bgs = []
for _ in range(20):   
   b = line.clone()                         # 克隆一条背景线
   b.shapeindex(random.randint(0,2))        # 随机选择一个造型
   x = random.randint(-240,240)             # 生成x坐标
   y = random.randint(360,3600)             # 生成y坐标
   b.goto(x,y)                              # 到达这个x,y坐标
   dynamic_bgs.append(b)                    # 添加到列表中
   b.show()                                 # 显示
   
pics1 = ['rocket0.png','rocket1.png','rocket2.png']
rocket = Sprite(pics1,pos=(0,-130))

# 序幕阶段,火箭是不动的,背景自上而下移动
clock = Clock()                             # 新建时钟对象
for _ in range(600):                        # 重复200次
   rocket.nextshape()                       # 火箭下一个造型 
   for bg in dynamic_bgs:                   # 迭代背景表中的线条
       bg.addy(-50)                         # 线条往下移50个单位
       if bg.ycor() < -180:                 # 如果线条y坐标小于-180
          x = random.randint(-240,240)      # 生成一个x坐标
          y = random.randint(360,3600)      # 生成一个y坐标
          bg.goto(x,y)                      # 线条到这个坐标   
   screen.update()                          # 更新屏幕显示
   clock.tick(60)                           # 固定fps为60帧

[bg.remove() for bg in dynamic_bgs]         # 删除所有
mixer.music.stop()                          # 停止播放音乐
mixer.music.load('res/循环音乐.mp3')        # 加载音乐
mixer.music.play(-1,0)                      # 循环播放音乐

# 进入第二阶段,太空垃圾来了,需要按左右方向箭头操作它躲避
garbs = []
garbage = Sprite('garbage',visible=False,pos=(0,300))
for _ in range(30):
   g = garbage.clone()
   g.shapeindex(random.randint(0,2))
   x = random.randint(-240,240)
   y = random.randint(360,3600)   
   g.goto(x,y)
   garbs.append(g)
   g.show() 
counter = 0

leftkey = Key("Left")
rightkey = Key("Right")
screen.listen()
isdead = False                      # 描述是否碰到太空垃圾的变量
for _ in range(2000):
   rocket.nextshape()
   if leftkey.down():rocket.addx(-4)
   if rightkey.down():rocket.addx(4)
   if rocket.overlap_with(garbs):
       rocket.hide()
       isdead = True
       break
   for g in garbs:
       g.addy(-6)
       if g.ycor() < -180:
          g.goto(random.randint(-240,240),
                 random.randint(360,3600))
   screen.update()
   clock.tick(60)

# 第三阶段,根据火箭是否爆炸决定显示什么
mixer.music.stop()

pass                  # 这里的代码省略了....

screen.mainloop()

需要全部源代码和素材,请扫码付款:

VIP免费查看

已有1人支付

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 急速返航

李兴球Python微信公众号文章列表

Python游戏海龟模块教程说明书与案例若干免费发放

爱的纪念_Python创意情景动画源代码解析

少儿Python编程到底学些什么?这些代码或许回答了问题.

Python编程家长会花絮_萍乡中小学Python家长会现场

火星路上等着你_少儿从小学什么最好呢?

国家大力整顿教育培训机构,Scratch或Python少儿编程还有得教吗?

鸿蒙系统支持Python开发_可视化编程特别兴趣小组

Scratch作品转Python作品_小猴接桃

python海龟数据可视化。第七次全国人口普查历年数据图表

你的孩子Python编程学到哪个阶段了?给孩子报编程的家长,务必仔细一读。

五一神女来对话,看看她们聊什么?赠Python教案等。

五一快乐有大礼,告诉大家我是如何上Python课的。

Python名堂多,趣味到处有,劈开机械手,帧帧是图片。速算达人之猫狮大战正在进行。 逐字动画不独享,自动生成皆有它。2行代码自动生成字幕gif动画。 Python之潮来临,我在安源区教师科技创新能力的Python讲座

小心你的Python程序,它会是你的一面镜子。小方块闯迷宫.py源代码简析。送Scratch算法集。?

铃儿响钉铛_音效怎能忘_Python配音之Pygame混音器

人面桃花相映红_winsound模块简介

《Python昨晚我想你了》_开源的游戏海龟模块实例案例浅析

《八猫联动初体验》_来自游戏海龟模块的问候

喜爱春天的人儿啊 心地纯洁的人_Python逐行像素显示

旋转之三叶炫彩扇_蟒蛇与海龟的表演

彩虹欢迎字幕_三模合体滚图形

《Python海龟宝典》简介

100%错误的算法还在用,明明没有错别字,说我有11个错别字

奇怪的Python代码,谁能帮我解释一下??

人造地球系统让人类文明充满整个宇宙之Python32768版

深夜,是什么把你的大脑搞成一团浆糊!再谈少儿编程!

5线城市萍乡的少儿Python寒假班学的是什么内容?

关于纯少儿编程课程进化的自然选择

Python海龟画图经典作品_国庆中秋双重喜庆源代码免费下载

海龟为什么要自杀!turtle制作游戏秘籍之一

朋友,你是否知道我在仰望着你_Python神笔马良案例集

酷酷的爆炸效果_Python海龟画图不仅仅是画图

虫子满屏爬_三bug多线程示例程序浅析 少儿Python视频课程A级简介

给的gif图片加文字水印_拆帧与合帧(免费下载180个Python创意源码

用Python制作酷炫图形之如意金箍棒_颜色增加模块应用

简单的用Python做酷炫图形与动画

sb3转exe,sb3素材提取器,编程小子apk, 未公开的pygame游戏集/scratch/python少儿编程免费下载集合

夜幕下的霓虹

学本领,探索更大的世界!

李兴球博客 风火轮编程主页
error: Content is protected !!