在海龟画图屏幕上有阵列格子,单击它们能切换状态。本程序定义了矩形类,还有它的相关碰撞方法。以下是部分代码预览:
""" 翻转格子版本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资源。)