学习了一个有趣的技能-海龟跟随鼠标
import turtle as timport random as r
t.bgcolor("black")
t.colormode(255)
t.delay(0)
t.hideturtle()
def fun(x,y):
t.penup()
t.goto(x,y)
t.pendown()
a=r.randint(0,255)
b=r.randint(0,255)
c=r.randint(0,255)
t.color(a,b,c)
l=r.randint(5,15)
t.begin_fill()
for i in range(5):
t.forward(l)
t.left(144)
t.end_fill()
screen=t.Screen()
screen.onclick(fun)
t.done()
你好!你的代码实现了一个很有趣的效果:在黑色背景上,每次鼠标点击都会在点击位置绘制一个随机颜色的五角星。我来简单解释一下代码的逻辑:
import turtle as t
import random as r
t.bgcolor("black") # 设置背景为黑色
t.colormode(255) # 设置颜色模式为RGB(0-255)
t.delay(0) # 取消绘制延迟,让绘制更快
t.hideturtle() # 隐藏海龟图标
def fun(x,y):
t.penup() # 抬起画笔(移动时不画线)
t.goto(x,y) # 移动到鼠标点击的坐标
t.pendown() # 落下画笔(开始画线)
a=r.randint(0,255) # 随机生成RGB颜色分量
b=r.randint(0,255)
c=r.randint(0,255)
t.color(a,b,c) # 设置画笔颜色
l=r.randint(5,15) # 随机生成五角星边长(5到15之间)
t.begin_fill() # 开始填充颜色
for i in range(5): # 画五角星(5条边,每次转144度)
t.forward(l)
t.left(144)
t.end_fill() # 结束填充
screen=t.Screen()
screen.onclick(fun) # 绑定鼠标点击事件到fun函数
t.done() # 进入事件循环,等待交互
代码中用到了几个关键点:
- t.delay(0) 让绘制速度更快
- screen.onclick(fun) 实现了鼠标事件绑定
- 五角星的绘制是通过每次左转144度(180-36)实现的
如果你想扩展这个程序,可以尝试:
- 修改绘制的形状(比如改成圆形或正方形)
- 添加键盘事件切换颜色或形状
- 增加绘制大小的随机范围
这个程序很好地结合了事件处理和图形绘制,是学习turtle库交互功能的好例子!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]