|
60鱼币
运行效果如附件图所示
本帖最后由 温涟汐 于 2023-11-2 18:49 编辑
import turtle as t
t.speed(0)
# 移动位置函数
def mov(position_x, position_y):
t.penup()
t.goto(position_x, position_y)
t.pendown()
# 填充画布
t.fillcolor('#D81831')
t.begin_fill()
mov(800, 400)
for i in range(4):
t.right(90)
if i % 2:
t.forward(1600)
else:
t.forward(800)
t.end_fill()
# 铃铛半径
Bell_radius = 40
# 铃铛外圈粗细
Bell_width = 3
# 蓝色的脸半径为blue_face_r
blue_face_r = 300/6*7
# 白脸半径white_face_r
white_face_r = 250/6*7
# 画铃铛的函数,传参是画铃铛的位置,可以传入铃铛颜色喔
def bell(bell_position_x, bell_position_y, bell_color='black'):
print("好几天了,你没回我,需要这部分代码踢我")
# 画蓝色圈
# mov((Bell_radius + 20 - 800 - 50) // 2, (-400 + 30 + 400 - 4 * Bell_radius - 20)//2) # 中心坐标
mov((Bell_radius + 20 - 800 - 50) // 2, -400 - blue_face_r / 10 * 3)
filcir("#0A9CEF", blue_face_r)
# 下移 画白脸
t.right(90)
t.penup()
t.forward(blue_face_r-white_face_r-15)
t.pendown()
t.left(90)
filcir('white', white_face_r, 'white')
# 移动画胡须
mov((Bell_radius + 20 - 800 - 50) // 2, -400 - blue_face_r / 10 * 3 + blue_face_r)
t.pencolor('black')
t.pensize(2)
# 画胡子的函数
def beard():
t.pencolor('black')
t.forward(blue_face_r - 10 - ((blue_face_r - white_face_r) * 2 + blue_face_r - white_face_r - 15) / 2)
t.backward(blue_face_r - 10 - ((blue_face_r - white_face_r) * 2 + blue_face_r - white_face_r - 15) / 2)
# 画遮盖胡子多余的函数
def begin_beard(r):
t.penup()
t.right(90)
t.forward(r)
t.left(90)
t.pendown()
t.fillcolor('white')
t.begin_fill()
filcir('white', r, 'white')
t.end_fill()
t.penup()
t.right(90)
t.backward(r)
t.left(90)
t.pendown()
t.pencolor('black')
# 右边的胡子
# 移动到胡须起点
t.penup()
t.forward(((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/2)
t.pendown()
beard()
t.right(25)
beard()
t.left(40)
beard()
t.right(15)
# 画胡须起始点圆圈遮住多余胡须
# begin_beard(((blue_face_r - white_face_r) * 2 + blue_face_r - white_face_r - 15) / 2)
# 移动回到蓝脸中心
# 左边的胡子
t.right(180)
t.penup()
t.forward((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)
t.pendown()
beard()
t.right(15)
beard()
t.left(40)
beard()
t.right(25)
# 画胡须起始点圆圈遮住多余胡须
#移动回蓝脸中心
t.penup()
t.right(180)
t.forward(((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/2)
t.pendown()
begin_beard((blue_face_r - white_face_r) * 2 + blue_face_r - white_face_r - 15)
# 画嘴的线
t.left(90)
t.pensize(3)
t.pencolor('black')
t.forward(((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/2)
t.backward(250)
t.right(90)
t.circle(250, 80)
t.circle(250, -160)
t.circle(250, 80)
t.left(90)
t.forward(250)
t.right(90)
# 画鼻子
t.color('black')
t.pensize(1)
t.penup()
t.right(90)
t.forward(((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/4)
t.left(90)
t.pendown()
filcir('red', ((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/4, 'red')
# 移动
t.left(90)
t.penup()
t.color('black')
t.forward(((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/2*7/10)
# 画眼睛 (300-250)*2+300-250-15
# 移动
t.color('black')
t.pensize(1)
t.penup()
t.right(90)
t.forward(((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/2)
t.pendown()
# 右眼
filcir('white', ((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/2)
t.left(115)
t.penup()
t.forward(40)
t.pendown()
t.pensize(10)
t.forward(80)
t.penup()
t.backward(120)
t.right(115)
t.pensize(1)
# 移动
t.penup()
t.left(180)
t.forward(((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15))
t.pendown()
# 左眼
filcir('white', -((blue_face_r-white_face_r)*2+blue_face_r-white_face_r-15)/2)
t.right(115)
t.penup()
t.forward(40)
t.pendown()
t.pensize(10)
t.forward(80)
t.penup()
t.backward(120)
t.left(115)
t.right(180)
# t.done()
# 画红领带
t.pencolor('red')
mov(-800 + 150, -400)
t.pensize(20)
t.backward((-800 + 150-(Bell_radius + 20 - 800 - 50) // 2)*2) # -510
# 最后画铃铛
bell(Bell_radius + 20 - 800, 400 - 2 * Bell_radius - 20)
bell(50, 400 - 2 * Bell_radius - 20)
bell(800 - 2 * Bell_radius, 400 - 4 * Bell_radius - 20)
bell((50 + Bell_radius * 2 + 800 - 2 * Bell_radius)//2, (-400 + 30 + 400 - 4 * Bell_radius - 20)//2)
bell(50 + Bell_radius * 2, -400 + 30)
bell((Bell_radius + 20 - 800 - 50) // 2, -400 - Bell_radius, 'gold')
# 写字
t.pencolor("#E9AD1C")
mov(50, 200)
t.write('Happy New ', False, 'left', ('仿宋', 70, 'italic'))
mov(100, 100)
t.write('Year', False, 'left', ('仿宋', 70, 'italic'))
mov(260, 50)
t.write(' ~ ~ ~', False, 'left', ('仿宋', 70, 'italic'))
mov(100, 0)
t.pensize(1)
t.forward(100)
t.backward(175)
t.write('祝你新的一年:', False, 'left', ('', 20, 'normal'))
mov(270, -200)
t.forward(325)
t.backward(325)
t.write('不挂科!!', False, 'left', ('', 60, 'italic'))
t.done()
|
-
最佳答案
查看完整内容
import turtle as t
t.speed(0)
# 移动位置函数
def mov(position_x, position_y):
t.penup()
t.goto(position_x, position_y)
t.pendown()
# 填充画布
t.fillcolor('#D81831')
t.begin_fill()
mov(800, 400)
for i in range(4):
t.right(90)
if i % 2:
t.forward(1600)
else:
t.forward(800)
t.end_fill()
# 铃铛半径
Bell_radius = 40
# 铃铛外圈粗细
...
|