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

【作品介绍】
自编第三方库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
SCS_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
评论