圣诞节马上来临了,程序猿也可以有自己的圣诞树,今天我们100行python代码绘制一个圣诞树,请接收这份独属于程序猿的浪漫。
创建屏幕对象并设置背景颜色
screen = turtle.Screen()
screen.bgcolor("#000")
t = turtle.Turtle()
t.speed(0)
首先导入了 turtle 库用于绘图操作,以及 random
库用于生成随机数,这在后续绘制各种随机元素(如雪花大小、位置等)时会用到。
通过 turtle.Screen()
创建了一个屏幕对象 screen
,并将其背景颜色设置为黑色(“#000”),为圣诞树营造出夜晚的背景氛围。
接着创建了一个 turtle
画笔对象 t,并设置其绘制速度为最快(speed(0))
,这样在绘图过程中可以快速呈现出完整的图形。
2. 图形绘制函数定义部分
这部分代码定义了几个用于绘制不同图形的函数,方便后续在绘制圣诞树及其装饰时调用。
2.1 box1 函数
def box1(turtle_obj, color, x, y, width, height):
"""
绘制矩形的函数
:param turtle_obj: turtle对象
:param color: 填充颜色
:param x: 矩形左上角x坐标
:param y: 矩形左上角y坐标
:param width: 矩形宽度
:param height: 矩形高度
"""
turtle_obj.penup()
turtle_obj.color(color)
turtle_obj.fillcolor(color)
turtle_obj.goto(x, y)
turtle_obj.pendown()
turtle_obj.begin_fill()
for _ in range(2):
turtle_obj.forward(width)
turtle_obj.left(90)
turtle_obj.forward(height)
turtle_obj.left(90)
turtle_obj.end_fill()
turtle_obj.setheading(0)
此函数用于绘制矩形,接受一个 turtle
对象、填充颜色以及矩形的左上角坐标、宽度和高度作为参数。
函数内部先抬起画笔 (penup)
,设置画笔颜色和填充颜色,移动到指定的坐标位置 (goto)
后再放下画笔 (pendown)
,接着开始填充图形 (begin_fill)
,通过循环两次来绘制矩形的四条边(每次向前移动 width
或 height
的长度,并向左旋转 90 度ÿ