猫史档案馆


【Python作品分享】花展-1【作品秀】

用户:Mickey_1095Mickey_1095查看:0 回复:0 评论:0 创建时间:2023-08-10T19:55:35


【作品展示】

center_image

 

【作品介绍】

turtle画花展

 

【作品源代码】

import turtle as t
import random
import time

a = t.Screen()

now_screen = 0
t.screensize(450,450)

def clear():
    color_list = ['red', 'blue', 'pink', 'cyan', 'gold', 'purple', 'orange']
    t.tracer(0)
    usecolor = 0
    for i in range(230):
        t.pu()
        x = random.randint(-450, 450)
        y = random.randint(-450, 450)
        t.goto(x, y)
        usecolor = random.choice(color_list)
        for i in range(8):
            t.fd(25)
            t.dot(30, usecolor)
            t.left(180)
            t.fd(25)
            t.left(45)
        t.update()
        t.dot(45, 'yellow')
        # time.sleep(0.01)
    t.clear()


def screen1():
    t.bgcolor('green')
    t.tracer(0)
    t.pensize(2)
    t.color('red', 'pink')
    for i in range(5):
        t.penup()
        x = random.randint(-330, 330)
        y = random.randint(-260, 260)
        t.goto(x, y)
        t.pendown()
        for i in range(5):
            t.begin_fill()
            t.circle(90, 80)
            t.left(100)
            t.circle(90, 80)
            t.end_fill()
            t.left(28)
    t.update()
    time.sleep(1)
    t.tracer(2)
    t.penup()
    t.left(90)
    t.goto(0, 55)
    t.pencolor('brown')
    t.pensize(8)
    t.pendown()
    t.begin_fill()
    t.fillcolor('white')
    t.left(90)
    t.fd(130)
    t.left(90)
    t.fd(105)
    t.left(90)
    t.fd(260)
    t.left(90)
    t.fd(105)
    t.left(90)
    t.fd(130)
    t.left(90)
    t.end_fill()
    t.penup()
    t.goto(-40, -10)
    t.write("花展开始", font=("Arial", 24, "normal"))
    #clear()


def screen2():
    t.home()
    t.tracer(0)
    for i in range(5):
        x = random.randint(-330, 330)
        y = random.randint(-260, 260)
        t.goto(x, y)
        for i in range(7):
            t.dot(random.randint(55, 65), 'white')
            t.fd(12)

    t.penup()
    t.bgcolor('skyblue')
    t.goto(0, -30)
    t.pencolor('brown')
    t.begin_fill()
    t.fillcolor('brown')
    t.pensize(6)
    t.pendown()
    t.fd(120)
    t.right(90)
    t.fd(25)
    t.right(90)
    t.fd(240)
    t.right(90)
    t.fd(25)
    t.right(90)
    t.fd(120)
    t.end_fill()

    t.goto(115, -30)
    t.left(90)
    t.pensize(15)
    t.fd(200)

    t.penup()
    t.goto(-115, -30)
    t.pendown()
    t.fd(200)

    t.penup()
    t.pensize(7)
    t.goto(115, 160)
    t.pendown()
    t.begin_fill()
    t.fillcolor('brown')
    t.fd(50)
    t.left(90)
    t.fd(230)
    t.left(90)
    t.fd(50)
    t.left(90)
    t.fd(230)
    t.end_fill()

    t.goto(100, 165)
    t.begin_fill()
    t.fillcolor('black')
    t.left(90)
    t.fd(40)
    t.left(90)
    t.fd(200)
    t.left(90)
    t.fd(40)
    t.left(90)
    t.fd(200)
    t.end_fill()

    t.pu()
    t.goto(165, 210)
    t.pd()
    t.begin_fill()
    t.fillcolor('brown')
    t.left(180)
    t.fd(330)
    t.right(125)
    t.fd(80)
    t.right(55)
    t.fd(245)
    t.right(55)
    t.fd(80)
    t.right(125)
    t.end_fill()

    t.pu()
    t.left(180)
    t.goto(-500, -50)
    t.pd()
    t.begin_fill()
    t.fillcolor('green')
    t.forward(1000)
    t.right(90)
    t.forward(500)
    t.right(90)
    t.forward(1000)
    t.right(90)
    t.forward(500)
    t.end_fill()

    for i in range(11):
        t.pu()
        x = random.randint(-450, 450)
        y = random.randint(-300, -30)
        t.goto(x, y)
        t.color('yellow', 'pink')
        t.begin_fill()
        t.pd()
        for i in range(6):
            for j in range(2):
                for k in range(90):
                    t.forward(1)
                    t.right(1)
                t.right(90)
            t.right(60)
        t.end_fill()

    t.pu()
    t.goto(-40, 170)
    t.write("赏花亭", font=("Arial", 24, "normal"))

    t.update()

    #clear()


def screen3():
    t.bgcolor('skyblue')
    t.tracer(0)

    t.penup()
    t.home()
    t.goto(-170, -500)
    t.pd()
    t.pencolor('green')
    t.begin_fill()
    t.fillcolor('green')
    t.left(180)
    t.fd(400)
    t.right(90)
    t.fd(1000)
    t.right(90)
    t.fd(400)
    t.right(90)
    t.fd(1000)
    t.right(90)
    t.end_fill()

    t.penup()
    t.home()
    t.goto(170, -500)
    t.pd()
    t.pencolor('green')
    t.begin_fill()
    t.fillcolor('green')
    t.fd(400)
    t.left(90)
    t.fd(1000)
    t.left(90)
    t.fd(400)
    t.left(90)
    t.fd(1000)
    t.left(90)
    t.end_fill()

    t.pu()
    t.home()
    t.right(90)
    t.pensize(5)
    for i in range(120):
        x = random.randint(-170, 170)
        y = random.randint(-500, 500)
        t.pu()
        t.goto(x, y)
        t.pd()
        t.pencolor('skyblue2')
        t.fd(80)

    t.pu()
    t.home()
    t.right(90)
    t.pensize(7)
    for i in range(120):
        x = random.randint(-450, -170)
        y = random.randint(-500, 500)
        t.pu()
        t.goto(x, y)
        t.pd()
        t.pencolor('green2')
        t.fd(80)

    t.pensize(5)

    t.pu()
    t.home()
    t.right(90)
    t.pensize(7)
    for i in range(120):
        x = random.randint(170, 450)
        y = random.randint(-500, 500)
        t.pu()
        t.goto(x, y)
        t.pd()
        t.pencolor('green2')
        t.fd(80)
    t.pensize(5)

    t.pu()
    color_list = ['red', 'blue', 'pink', 'cyan', 'gold', 'purple', 'orange']
    usecolor = 0
    for i in range(20):
        t.pu()
        x = random.randint(-450, -190)
        y = random.randint(-450, 450)
        t.goto(x, y)
        usecolor = random.choice(color_list)
        for i in range(4):
            t.fd(25)
            t.dot(40, usecolor)
            t.left(180)
            t.fd(25)
            t.left(90)
        t.dot(45, 'yellow')
        t.dot(30, 'red')

        t.pu()
    for i in range(20):
        t.pu()
        x = random.randint(190, 450)
        y = random.randint(-450, 450)
        t.goto(x, y)
        usecolor = random.choice(color_list)
        for i in range(4):
            t.fd(25)
            t.dot(40, usecolor)
            t.left(180)
            t.fd(25)
            t.left(90)
        t.dot(45, 'yellow')
        t.dot(30,'red')

    t.pu()
    t.home()
    t.color('dim gray')
    t.left(90)
    t.goto(-180, -40)
    t.pendown()
    t.begin_fill()
    t.fillcolor('gray')
    for i in range(5):
        t.right(30)
        t.fd(100)

    t.right(30)
    t.left(90)
    t.fd(133)
    t.left(90)
    for i in range(6):
        t.left(25.7)
        t.fd(145)

    t.left(25.7)
    t.left(90)
    t.fd(133)

    t.end_fill()

    t.update()
    #clear()

def onclick(x,y):
    global now_screen
    now_screen += 1
    if now_screen == 1:
        screen1()
    elif now_screen == 2:
        clear()
        screen2()
    elif now_screen == 3:
        clear()
        screen3()

    elif now_screen == 4:
        clear()

    else:
        print('已经是最后一个屏幕了!')



a.onclick(onclick)


# screen2()
# screen3()

t.done()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页