史上最难太空移球.py

史上最难太空移球.py

在浩瀚的互联网中,海量的信息让人们无所适从。不过,在这个小游戏中,目标还是很明确的。
只要操作小球移到屏幕最左边即可。当然,没有这么容易的哦。这是由于小球有惯性!

"""
   史上最难太空移球.py
   本程序主要体验角色的find_overlapping命令,还有单独的explode命令。
   find_overlapping是用来查找和角色最小矩形重叠的命令,返回这些矩形对应的项目。
   这些项目包括其它角色、所画的线条、填充区域块、图章、dot命令所打的圆点。
   返回一个集合,集合就是找到的项目编号。
   explode是爆炸效果命令,接受一个坐标和一个列表,列表存储的是要显示的一些图片。
"""
from sprites import *                    # 从精灵模块导入所有命令
from random import randint               # 从随机模块导入randint命令

explosionframes = ['res/explosion0.png',
                   'res/explosion1.png']
screen = Screen()                        # 新建屏幕
screen.setup(800,600)                    # 屏幕大小
screen.bgcolor('black')                  # 背景颜色

w = Sprite(visible=False)                # w角色用来画障碍物 
w.color('red')                           # 设定w为红色
w.pensize(50)                            # 画笔粗细为50
w.goto(-300,300)                         # 定位到坐标(-300,300)
w.pendown()                              # 落笔
w.fd(700)                                # 前进700个单位
w.penup()                                # 抬笔
w.goto(-300,-300)                        # 定位到坐标(-300,-300)
w.pendown()                              # 落笔
w.fd(700)                                # 前进700个单位
w.penup()                                # 抬笔
w.pensize(1)                             # 设定画笔粗细为1
w.goto(-300,230)                         # 定位到坐标(-300,230)
# 下面是画6行红色方块,每行有10个
for i in range(6):
    for _ in range(10):
        dy = randint(-20,20)
        w.addy(dy)
        w.draw_rect(35,randint(30,50))   # 画方块,宽度为35,高度为30到50
        w.addy(-dy)
        w.fd(100)                        # 前进100个单位
    w.bk(1000)                           # 倒退1000个单位
    w.addy(-100)                         # 下移100个单位 
      
ball = Sprite(shape=1,pos=(-350,0))      # 这是要操作的主角小球
ball.dx = 0                              # 球的水平速度(这是自定义的属性)
ball.dy = 0                              # 球的垂直速度(这是自定义的属性)

leftkey = Key('Left')                    # 新建左方向箭头 
rightkey = Key('Right')                  # 新建右方向箭头
upkey = Key('Up')                        # 新建上方向箭头
downkey = Key('Down')                    # 新建下方向箭头
screen.listen()                          # 监听键盘按键

result = ""                              # 定义字符串,描述成功还是失败
running = True                           # 定义running变量,控制while是否结束


以下代码省略......

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。