# 获取填充块的左右上下坐标

## 如本文章标有价格,需议价或其它事情商议请加微信scratch8

```"""
获取填充块的左右上下坐标
单击后移动字和海龟，填充块会移动并且碰到边缘会反弹
"""
import time
import turtle
from random import randint

turtle.shape('turtle')
turtle.penup()
turtle.speed(1)
turtle.fillcolor('red')
turtle.begin_fill()
for _ in range(4):
turtle.fd(100)
turtle.rt(90)
turtle.end_fill()

hg = turtle.getturtle()
sc = turtle.getscreen()
cv = turtle.getcanvas()
sw = sc.window_width()    # 屏宽
sh = sc.window_height()   # 屏高

def move(x,y):
sc.onclick(None)
dx = randint(-5,5)
dy = randint(-5,5)
while True:
cv.move(text,1,0)
turtle.setx(turtle.xcor()-1)
cv.move(redsquare,dx,dy)
cv.update()
xy = cv.coords(redsquare)
left = min([xy[i] for i in range(len(xy)) if i%2==0])
right = max([xy[i] for i in range(len(xy)) if i%2==0])
top = max([xy[i] for i in range(len(xy)) if i%2==1])
bottom = min([xy[i] for i in range(len(xy)) if i%2==1])
if left<= -sw//2 or right>= sw//2:dx = -dx
if top>= sh//2 or bottom<= -sh//2:dy = -dy
time.sleep(0.01)

redsquare = hg.items[-1]
zt = ('',32,'underline')
turtle.sety(turtle.ycor() + 100)
turtle.write('请单击',align='center',font=zt)
text = hg.items[-1]
sc.onclick(move)
sc.mainloop()

```

scratch