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

"""
史上最难太空移球.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资源。)
