猫史档案馆


【Python作品分享】betterturtle【作品秀】

用户:葱头0v0葱头0v0查看:0 回复:1 评论:0 创建时间:2023-05-28T15:00:03


【作品展示】

center_image

 

【作品介绍】

自编第三方库betterturtle,内置turtle库,可以更好地画图

 

【作品源代码】

import turtle


class Rect():
    def __init__(self, width, height, pencolor , fillcolor,angle):
        self.width = width
        self.height = height
        self.pencolor = pencolor
        self.fillcolor = fillcolor
        self.angle=angle

class Tri():
    def __init__(self, pencolor, fillcolor,x1,y1,x2,y2,x3,y3):
        self.pencolor = pencolor
        self.fillcolor = fillcolor
        self.x1=x1
        self.x2=x2
        self.x3=x3
        self.y1=y1

class Cir():
    def __init__(self, r,pencolor, fillcolor):
        self.pencolor = pencolor
        self.fillcolor = fillcolor
        self.r=r

class St():
    def __init__(self,length, pencolor, fillcolor,angle):
        self.pencolor = pencolor
        self.fillcolor = fillcolor
        self.length=length
        self.angle=angle

class Other():
    def __init__(self, x, y, text, fontsize, color,num,dotedge):
        self.x=x
        self.y=y
        self.text=text
        self.fontsize=fontsize
        self.color=color
        self.num=num
        self.dotedge=dotedge


class Rectangle(Rect):

    def draw_rectangle_outline(width, height, pencolor,angle): 
        turtle.color(pencolor)
        turtle.setheading(angle)
        for i in range(2):
            turtle.forward(width)
            turtle.left(90)
            turtle.forward(height)
            turtle.left(90)


    def draw_rectangle_filled(width, height, pencolor,fillcolor,angle): 
        turtle.setheading(angle)
        turtle.color(pencolor)
        turtle.fillcolor(fillcolor)
        turtle.begin_fill()
        for i in range(2):
            turtle.forward(width)
            turtle.left(90)
            turtle.forward(height)
            turtle.left(90)
        turtle.end_fill()

class Circle(Cir):
    def draw_circle_outline(r,pencolor):
        turtle.color(pencolor)
        turtle.circle(r)


    def draw_circle_filled(r, pencolor,fillcolor): 
        turtle.color(pencolor)
        turtle.fillcolor(fillcolor)
        turtle.begin_fill()
        turtle.circle(r)
        turtle.end_fill()

class Star(St):
    def draw_star_outline(length,pencolor,angle): 

        turtle.pencolor(pencolor)

        turtle.setheading(angle)
        for i in range(5):
            turtle.forward(length)
            turtle.right(144)


    def draw_star_filled(length, pencolor,fillcolor, angle): 

        turtle.pencolor(pencolor)
        turtle.fillcolor(fillcolor)

        turtle.setheading(angle)
        turtle.begin_fill()
        for i in range(5):
            turtle.forward(length)
            turtle.right(144)
        turtle.end_fill()

class Text(Other):
    def draw_text(x, y, text, fontsize, color):
        turtle.pu()
        turtle.goto(x, y)
        turtle.pencolor(color)
        turtle.pd()
        turtle.write(text, font=('Arial', fontsize))


class Numaxis(Other):
    def draw_number_axis(x,y,color,num,dotedge,fontsize):
        for a in range(num):
            turtle.forward(dotedge)
            turtle.dot()
            turtle.write(a, font=('Arial', fontsize))


class Triangle(Tri):
    def draw_triangle_outline(x1,y1,x2,y2,x3,y3,pencolor): #画三角形需要计算坐标
        turtle.color(pencolor)
        turtle.goto(x1,y1)
        turtle.goto(x2,y2)
        turtle.goto(x3,y3)


    def draw_triangle_filled(x1, y1, x2, y2, x3, y3, pencolor,fillcolor):  # 画三角形需要计算坐标
        turtle.color(pencolor)
        turtle.fillcolor(fillcolor)
        turtle.begin_fill()
        turtle.goto(x1, y1)
        turtle.goto(x2, y2)
        turtle.goto(x3, y3)
        turtle.end_fill()


turtle.hideturtle()
Text.draw_text(-50, 0, 'b', 20, 'red')
Text.draw_text(-50, 0, 'be', 20, 'red')
Text.draw_text(-50, 0, 'bet', 20, 'red')
Text.draw_text(-50, 0, 'bett', 20, 'red')
Text.draw_text(-50, 0, 'better', 20, 'red')
Text.draw_text(-50, 0, 'bettert', 20, 'red')
Text.draw_text(-50, 0, 'bettertu', 20, 'red')
Text.draw_text(-50, 0, 'bettertur', 20, 'red')
Text.draw_text(-50, 0, 'betterturt', 20, 'red')
Text.draw_text(-50, 0, 'betterturtl', 20, 'red')
Text.draw_text(-50, 0, 'betterturtle', 20, 'red')
turtle.done()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
SCS_user_LoeheodVOQSCS_user_LoeheodVOQ

最后几行可以写

if __name__ == '__main__':
    turtle.hideturtle()
    Text.draw_text(-50, 0, 'b', 20, 'red')
    Text.draw_text(-50, 0, 'be', 20, 'red')
    Text.draw_text(-50, 0, 'bet', 20, 'red')
    Text.draw_text(-50, 0, 'bett', 20, 'red')
    Text.draw_text(-50, 0, 'better', 20, 'red')
    Text.draw_text(-50, 0, 'bettert', 20, 'red')
    Text.draw_text(-50, 0, 'bettertu', 20, 'red')
    Text.draw_text(-50, 0, 'bettertur', 20, 'red')
    Text.draw_text(-50, 0, 'betterturt', 20, 'red')
    Text.draw_text(-50, 0, 'betterturtl', 20, 'red')
    Text.draw_text(-50, 0, 'betterturtle', 20, 'red')
    turtle.done()

这样导入这个库的时候就不会运行这段代码,直接运行这个库就会运行这段代码

点赞0


评论