猫史档案馆


【Python作品分享】拯救大黄鸡

用户:Holmes_AxHolmes_Ax查看:0 回复:0 评论:0 创建时间:2021-07-31T18:31:44


【作品展示】

center_image

 

【作品介绍】

怀念试听课伤痕累累的大黄鸡没有?

修改了试听课课后复习中提供的乱七八糟缩进(

 

【作品源代码】

# 召唤大黄鸡
import turtle as t
t.hideturtle()
t.speed(0)


def head(color=None):
      is_wounded = False
      if not color:
          color = "yellow"
          is_wounded = True
      t.penup()
      t.goto(0, -100)
      t.pendown()
      t.begin_fill()
      t.color(color)
      t.circle(100)
      t.end_fill()
      if is_wounded:
          # 伤痕
          t.penup()
          t.goto(-60, -50)
          t.setheading(45)
          t.pensize(8)
          t.pencolor("gray")
          t.pendown()
          t.forward(20)
          t.penup()
          t.goto(-40, -50)
          t.pendown()
          t.forward(16)


def face(kind="up"):
     # 设置画眼睛
     t.pencolor("black")
     t.pensize(5)

     def eye():
          if kind == "down":
              # 左眼睛
              t.penup()
              t.goto(-55, 25)
              t.pendown()
              t.setheading(-70)
              t.circle(20, 140)
              # 右眼睛
              t.penup()
              t.goto(55, 25)
              t.pendown()
              t.setheading(-110)
              t.circle(-20, 140)
          elif kind == "open":
              # 左眼睛
              t.penup()
              t.goto(-55, 25)
              t.pendown()
              t.setheading(-70)
              t.dot(16)
              # 右眼睛
              t.penup()
              t.goto(55, 25)
              t.pendown()
              t.setheading(-110)
              t.dot(16)
          else:
              # 左眼睛
              t.penup()
              t.goto(-55, 15)
              t.pendown()
              t.setheading(70)
              t.circle(-20, 140)
              # 右眼睛
              t.penup()
              t.goto(55, 15)
              t.pendown()
              t.setheading(110)
              t.circle(20, 140)
     eye()


     # 嘴巴(里)
     t.penup()
     t.goto(-15, -10)
     t.pensize(1)
     t.color("coral")
     t.setheading(-90)
     t.pendown()
     t.begin_fill()
     t.circle(15, 180)
     for i in range(10):
         t.forward(3)
         t.left(7)
         t.left(20)
         t.backward(2)
         t.left(20)
     for i in range(10):
         t.forward(3)
         t.left(7)
         t.end_fill()
         # 嘴巴(外)
         t.penup()
         t.goto(12, -10)
         t.setheading(120)
         t.color("darkred")
         t.begin_fill()
         t.circle(14, 120)
         t.setheading(-60)
         t.circle(14, 120)
         t.end_fill()


def hands(color=None):
      if not color:
          color='yellow'
      # 左手
      t.pensize(1)
      t.penup()
      t.goto(-100, 0)
      t.setheading(190)
      t.pendown()
      t.color(color)
      t.begin_fill()
      for i in range(7):
          t.forward(9)
          t.left(6)
      for i in range(19):
          t.forward(1)
          t.left(6)
      for i in range(7):
          t.forward(9)
          t.left(5)
      t.end_fill()
      # 右手
      t.penup()
      t.goto(100, 0)
      t.setheading(-10)
      t.pendown()
      t.fillcolor(color)
      t.begin_fill()
      for i in range(7):
          t.forward(9)
          t.right(6)
      for i in range(19):
          t.forward(1)
          t.right(6)
      for i in range(7):
          t.forward(9)
          t.right(5)
      t.end_fill()
# 引擎


def engines(size=10):
     def engine(x, y):
          t.pensize(1)
          t.setheading(0)
          # 外圆位置
          t.penup()
          t.goto(x, y)
          t.pendown()
          # 画外圆
          t.color("black", "yellow")
          t.begin_fill()
          t.circle(-size)
          t.end_fill()
          # 内圆位置
          t.penup()
          t.goto(x, y - 4)
          t.pendown()
          # 画内圆
          t.setheading(0)
          t.color("black", "brown")
          t.begin_fill()
          t.circle(-size + 4)
          t.end_fill()
          # 左引擎
          engine(-100, -40)
          engine(-130, -40)
          # 右引擎
          engine(100, -40)
          engine(130, -40)


def seat(chair_color=None):
      if not chair_color:
          chair_color="brown"
      t.penup()
      t.goto(50, 96)
      t.color("deepskyblue")
      t.pensize(1)
      t.pendown()
      t.begin_fill()
      t.setheading(90)
      t.circle(10, 90)
      t.forward(10)
      t.setheading(90)
      t.forward(10)
      t.circle(5, 90)
      t.forward(50)
      t.circle(5, 90)
      t.forward(10)
      t.setheading(180)
      t.forward(10)
      t.circle(10, 90)
      t.setheading(0)
      t.forward(100)
      t.end_fill()
      # 棕色部分
      t.penup()
      t.goto(20, 122)
      t.color(chair_color)
      t.setheading(90)
      t.pendown()
      t.begin_fill()
      t.forward(15)
      t.circle(5, 90)
      t.forward(30)
      t.circle(5, 90)
      t.forward(15)
      t.end_fill()


def glasses(color=None):
      if not color:
          color="skyblue"
      # 左镜框
      t.penup()
      t.goto(20, 50)
      t.pencolor("brown")
      t.pensize(10)
      t.setheading(0)
      t.pendown()
      t.fillcolor(color)
      t.begin_fill()
      t.forward(60)
      t.circle(8, 90)
      t.forward(30)
      t.circle(8, 90)
      t.forward(60)
      t.circle(8, 90)
      t.forward(30)
      t.circle(8, 90)
      t.end_fill()
      # 右镜框
      t.penup()
      t.goto(-20, 50)
      t.setheading(180)
      t.pendown()
      t.begin_fill()
      t.forward(60)
      t.circle(-8, 90)
      t.forward(30)
      t.circle(-8, 90)
      t.forward(60)
      t.circle(-8, 90)
      t.forward(30)
      t.circle(-8, 90)
      t.end_fill()
      # 眼镜连接
      t.penup()
      t.goto(-6, 70)
      t.setheading(0)
      t.pensize(20)
      t.pendown()
      t.forward(13)
      # 左镜片光泽
      t.penup()
      t.goto(50, 65)
      t.setheading(45)
      t.pensize(8)
      t.pencolor("white")
      t.pendown()
      t.forward(25)
      t.penup()
      t.goto(70, 65)
      t.pendown()
      t.forward(12)
      # 右镜片光泽
      t.penup()
      t.goto(-50, 65)
      t.setheading(45)
      t.pensize(8)
      t.pencolor("white")
      t.pendown()
      t.forward(25)
      t.penup()
      t.goto(-30, 65)
      t.pendown()
      t.forward(12)


# 开始绘制大黄鸡

head(t.textinput('参数', '颜色(也可不填):'))
face(t.textinput('参数', '状态(也可不填,参数down、open、up):'))  # 参数down、open、up,默认为up
hands(t.textinput('参数', '颜色(也可不填):'))
seat(t.textinput('参数', '颜色(也可不填):'))
glasses(t.textinput('参数', '颜色(也可不填):'))
engines()
t.done()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页