用python turtle画画草地天空星星花朵小草

画画真的是需要些许艺术细胞(这个我好像没有,所以将就将就吧。。)


直接上结果,代码在下方:
在这里插入图片描述

import turtle as t

r_a = 0.8
wight = 1400   # 宽
height = 980   # 高

t.hideturtle()
t.colormode(255)
t.color((255, 155, 192), "pink")
t.setup(wight, height)

#绘画速度
t.tracer(10)


def move_pen(x, y):  # 位置
    t.pu()
    t.goto(x - wight / 2 + 50, y - height / 2 + 50)
    t.pd()


def pen_set(size, r1, g1, b1, r2=0, g2=0, b2=0):  # 画笔粗细、描边颜色、填充颜色
    t.pensize(size)
    t.color((r1, g1, b1), (r2, g2, b2))


def draw_bg():  # 画草地、画天空
    # 画草地

    move_pen(-50, 310)
    pen_set(1, 255, 248, 170, 255, 248, 170)
    t.begin_fill()
    t.seth(-90)
    t.fd(350)
    t.seth(0)
    t.fd(1400)
    t.seth(90)
    t.fd(350)
    t.end_fill()
    # 画天空
    move_pen(-50, 310)
    pen_set(1, 47, 192, 239,47, 192, 239)
    t.begin_fill()
    t.seth(90)
    t.fd(630)
    t.seth(0)
    t.fd(1400)
    t.seth(-90)
    t.fd(630)
    a = -180 + r_a
    for i in range(50):
        a = a - r_a / 50
        t.seth(a)
        t.fd(500 / 50)
    a = 180
    for i in range(50):
        a = a - r_a / 50
        t.seth(a)
        t.fd(500 / 50)
    t.end_fill()

def draw_yuan():  # 画天空中的圆和五角星
    # 画圆左1
    pen_set(10, 193, 239, 239, 193, 239, 239)
    move_pen(72, 720)
    t.begin_fill()
    t.circle(60, 360)
    t.end_fill()
    # 画圆左1里的星星
    pen_set(10, 255, 211, 62, 255, 211, 62)
    move_pen(120, 680)
    t.begin_fill()
    for i in range(5):
        t.forward(100)
        t.left(180 - 36)
    t.end_fill()

    # 画圆左2
    pen_set(10, 193, 239, 239, 193, 239, 239)
    move_pen(170, 900)
    t.begin_fill()
    t.circle(70, 360)
    t.end_fill()
    # 画圆左2里的星星
    pen_set(10, 255, 211, 62, 255, 211, 62)
    move_pen(220, 850)
    t.begin_fill()
    for i in range(5):
        t.forward(100)
        t.left(180 - 36)
    t.end_fill()

    # 画圆左3
    pen_set(10, 193, 239, 239, 193, 239, 239)
    move_pen(1030, 720)
    t.begin_fill()
    t.circle(75, 360)
    t.end_fill()
    # 画圆左3里的星星
    pen_set(10, 255, 211, 62, 255, 211, 62)
    move_pen(1070, 660)
    t.begin_fill()
    for i in range(5):
        t.forward(100)#星星大小
        t.left(180 - 36)
    t.end_fill()

    # 画圆左4
    pen_set(10, 193, 239, 239, 193, 239, 239)
    move_pen(1220, 900)
    t.begin_fill()
    t.circle(75, 360)
    t.end_fill()
    # 画圆左4里的星星
    pen_set(10, 255, 211, 62, 255, 211, 62)
    move_pen(1270, 850)
    t.begin_fill()
    for i in range(5):
        t.forward(100)  # 星星大小
        t.left(180 - 36)
    t.end_fill()


    #流星弧线
    pen_set(140, 193, 239, 239, 193, 239, 239)
    move_pen(700, 800)
    t.begin_fill()
    # t.rt(180)
    t.circle(460, 20)
    t.end_fill()

    # 画流星尾巴
    pen_set(10, 193, 239, 239, 193, 239, 239)
    move_pen(720, 740)
    t.begin_fill()
    t.seth(0)  # 设置角度为0°
    t.fd(70)  # forward,向前70像素,即边长为70像素
    t.seth(140)  # 设置角度140°
    t.fd(70)  # 向前70像素,即边长为70像素
    t.seth(40)  # 设置角度40°
    t.end_fill()

    pen_set(10, 193, 239, 239, 193, 239, 239)
    move_pen(730, 765)
    t.begin_fill()
    t.seth(20)
    t.fd(100)
    t.seth(160)
    t.fd(100)
    t.seth(45)
    t.end_fill()

    pen_set(10, 193, 239, 239, 193, 239, 239)
    move_pen(740, 815)
    t.begin_fill()
    t.rt(-10)
    t.seth(40)
    t.fd(70)
    t.seth(180)
    t.fd(70)
    t.seth(45)
    t.end_fill()

    # 画流星里的星星
    pen_set(8, 255, 211, 62, 255, 211, 62)
    move_pen(520, 730)
    t.begin_fill()
    for i in range(5):
        t.forward(100)  # 星星大小
        t.left(180 - 36)
    t.end_fill()

def draw_star4(n,x,y,w,h):   #画四角星
    pen_set(10, 255, 211, 62, 255, 211, 62)
    move_pen(x, y)
    # t.begin_fill()
    t.seth(n)  # 设置角度n
    t.fd(w/2)  # 向前w/2像素
    t.seth(n+180)  # 设置角度n+180
    t.fd(w)  # 向前w像素,即边长为w像素

    t.end_fill()

    move_pen( x,  y)
    t.seth(n+90)
    t.fd(h/2)
    t.seth(n + 90+180)
    t.fd(h)
    t.end_fill()

def draw_tree():   # 画树、房子、花
    # 画左1树叶
    pen_set(10,  51, 215, 216, 51, 215, 216)
    move_pen(150, 400)
    t.begin_fill()
    t.circle(75, 360)
    t.end_fill()
    #画左1树干
    pen_set(30, 142, 93, 89, 142, 93, 89)
    move_pen(130, 325)
    t.begin_fill()
    t.seth(90)
    t.fd(80)
    t.end_fill()

     # 画左2树叶
    pen_set(10,  51, 215, 216, 51, 215, 216)
    move_pen(450, 450)
    t.begin_fill()
    t.circle(80, 360)
    t.end_fill()
    # 画左2树干
    pen_set(30, 142, 93, 89, 142, 93, 89)
    move_pen(365, 325)
    t.begin_fill()
    t.seth(90)
    t.fd(60)
    t.end_fill()

    # 画左3树叶
    pen_set(10, 51, 215, 216, 51, 215, 216)
    move_pen(1054, 396)
    t.begin_fill()
    t.seth(-30)
    len = 2
    for k in range(2):  # 将相同的动作重复做一遍
        for j in range(60):
            if j < 30:
                len += 0.1
  
  • 27
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值