在海龟画图屏幕上有阵列格子,单击它们能切换状态。本程序定义了矩形类,还有它的相关碰撞方法。以下是部分代码预览:
"""
翻转格子版本2。单击格子会翻转颜色的鼠标交互程序。
本程序实现矩形逻辑与重画分开,结构更加清晰!
"""
__author__ = '李兴球'
__date__ = '2019/10/5'
from turtle import *
def main():
"""主要执行函数"""
width,height = 600,600
screen = Screen()
screen.setup(width+100,height+100)
t = Turtle(visible=False)
t.penup()
rects = make_rects(10,10,500,500) # 生成10行10列的矩形
[r.draw(t) for r in rects] # 用海龟t把每个矩形画出来
def event_handler(x,y):
"""单击鼠标时进行以下处理"""
screen.onclick(event_handler)
screen.mainloop()
class Rect:
"""定义矩形类"""
def __init__(self,x,y,width,height):
"""
x,y:左上角坐标
width,height:宽度和高度
"""
def collidepoint(self,point):
"""
point是一个坐标点,
本方法判断这个点是否在矩形内
"""
def draw(self,t):
"""用海龟t把自己画出来"""
def make_rects(rows,cols,width,height):
"""
生成所有的矩形对象,
rows:行数,cols:列数
width:总宽度(最左到最右矩形中心点之间)
height:总高度(最下到最上矩形中心点之间)
"""
if __name__ == "__main__":
main()
如需要查看完整源代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

