目录
1 哆啦A梦
2 小猪佩奇
3 Python代码实现(哆啦A梦)
4 Python代码实现(小猪佩奇 )
1 哆啦A梦
“只要把愿望系在竹竿上请求月亮女神,心愿便能达成”。我超喜欢这句话。
哆啦A梦的创造要追溯到1969年的某个截稿日,作者藤子·F·不二雄的家里突然闯进了一只小猫,虽然很快就要截稿了,但作者还是和小猫玩了起来,还替小猫挠虱子,而这一挠就是几个小时。等作者发现时间不够用的时候,已经来不及完成稿子。这时作者像热锅上的蚂蚁走来走去,突然踢到了女儿的不倒翁玩具,于是作者灵光一现,把猫的形象和不倒翁结合起来,就创造了哆啦A梦。
2 小猪佩奇
对比于国内的《喜羊羊与灰太狼》和《熊出没》,我希望有一天喜羊羊被灰太狼炖了、熊大被光头强一枪打中,然后直接卖到动物园。(哈哈哈......)可是这个想法一直没实现,有些失落。还是看小猪佩奇吧:
由英国E1 Kids于2004年5月31日发行首播后,其动画片已于全球180个地区播放,现已播出6季;
中国中央电视台少儿频道也在热播之中,极简的动画风格,幽默的对话语调,深具教育意义的故事情节,不仅能让学龄前儿童学习知识,更能让小朋友们从小养成良好的生活习惯体验生活,深受全球各地小朋友们以及其家长们的喜爱。
3 Python代码实现(哆啦A梦)
import turtle as t
t.title('哆啦A梦')
# t.speed(5)
t.pensize(8)
t.hideturtle()
t.screensize(500, 500, bg='white')
"""猫脸"""
t.fillcolor('#00A1E8')
t.begin_fill()
t.circle(120)
t.end_fill()
t.pensize(3)
t.fillcolor('white')
t.begin_fill()
t.circle(100)
t.end_fill()
t.pu()
t.home()
t.goto(0, 134)
t.pd()
t.pensize(4)
t.fillcolor("#EA0014")
t.begin_fill()
t.circle(18)
t.end_fill()
t.pu()
t.goto(7, 155)
t.pensize(2)
t.color('white', 'white')
t.pd()
t.begin_fill()
t.circle(4)
t.end_fill()
t.pu()
t.goto(-30, 160)
t.pensize(4)
t.pd()
t.color('black', 'white')
t.begin_fill()
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.08
t.lt(3) # 向左转3度
t.fd(a) # 向前走a的步长
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill()
t.pu()
t.goto(30, 160)
t.pensize(4)
t.pd()
t.color('black', 'white')
t.begin_fill()
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.08
t.lt(3) # 向左转3度
t.fd(a) # 向前走a的步长
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill()
t.pu()
t.goto(-38, 190)
t.pensize(8)
t.pd()
t.right(-30)
t.forward(15)
t.right(70)
t.forward(15)
t.pu()
t.goto(15, 185)
t.pensize(4)
t.pd()
t.color('black', 'black')
t.begin_fill()
t.circle(13)
t.end_fill()
t.pu()
t.goto(13, 190)
t.pensize(2)
t.pd()
t.color('white', 'white')
t.begin_fill()
t.circle(5)
t.end_fill()
t.pu()
t.home()
t.goto(0, 134)
t.pensize(4)
t.pencolor('black')
t.pd()
t.right(90)
t.forward(40)
t.pu()
t.home()
t.goto(0, 124)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(10)
t.forward(80)
t.pu()
t.home()
t.goto(0, 114)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(6)
t.forward(80)
t.pu()
t.home()
t.goto(0, 104)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(0)
t.forward(80)
"""左边的胡子"""
t.pu()
t.home()
t.goto(0, 124)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(170)
t.forward(80)
t.pu()
t.home()
t.goto(0, 114)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(174)
t.forward(80)
t.pu()
t.home()
t.goto(0, 104)
t.pensize(3)
t.pencolor('black')
t.pd()
t.left(180)
t.forward(80)
t.pu()
t.goto(-70, 70)
t.pd()
t.color('black', 'red')
t.pensize(6)
t.seth(-60)
t.begin_fill()
t.circle(80, 40)
t.circle(80, 80)
t.end_fill()
t.pu()
t.home()
t.goto(-80, 70)
t.pd()
t.forward(160)
t.pu()
t.home()
t.goto(-50, 50)
t.pd()
t.pensize(1)
t.fillcolor("#eb6e1a")
t.seth(40)
t.begin_fill()
t.circle(-40, 40)
t.circle(-40, 40)
t.seth(40)
t.circle(-40, 40)
t.circle(-40, 40)
t.seth(220)
t.circle(-80, 40)
t.circle(-80, 40)
t.end_fill()
# 领带
t.pu()
t.goto(-70, 12)
t.pensize(14)
t.pencolor('red')
t.pd()
t.seth(-20)
t.circle(200, 30)
t.circle(200, 10)
"""铃铛"""
t.pu()
t.goto(0, -46)
t.pd()
t.pensize(3)
t.color("black", '#f8d102')
t.begin_fill()
t.circle(25)
t.end_fill()
t.pu()
t.goto(-5, -40)
t.pd()
t.pensize(2)
t.color("black", '#79675d')
t.begin_fill()
t.circle(5)
t.end_fill()
t.pensize(3)
t.right(115)
t.forward(7)
t.mainloop()
4 Python代码实现(小猪佩奇 )
import turtle
from turtle import *
turtle.title('小猪佩奇')
def nose(x,y):
"""画鼻子"""
pensize(5)
pencolor((255, 155, 192))
penup()
# 将海龟移动到指定的坐标
goto(x,y)
pendown()
# 设置海龟的方向(0-东、90-北、180-西、270-南)
setheading(-30)
begin_fill()
fillcolor(255, 192, 203)
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i <90:
a = a + 0.08
# 向左转3度
left(3)
# 向前走
forward(a)
else:
a = a - 0.08
left(3)
forward(a)
end_fill()
penup()
setheading(90)
forward(25)
setheading(0)
forward(10)
pendown()
"""设置画笔的颜色(红, 绿, 蓝)"""
pencolor(255, 155, 192)
setheading(10)
begin_fill()
circle(5)
color(160, 82, 45)
end_fill()
penup()
setheading(0)
forward(20)
pendown()
pencolor(255, 155, 192)
setheading(10)
begin_fill()
circle(5)
color(160, 82, 45)
end_fill()
def head(x, y):
"""画头"""
color((255, 155, 192), "pink")
penup()
goto(x,y)
setheading(0)
pendown()
begin_fill()
setheading(180)
circle(300, -30)
circle(100, -60)
circle(80, -100)
circle(150, -20)
circle(60, -95)
setheading(161)
circle(-300, 15)
penup()
goto(-100, 100)
pendown()
setheading(-30)
a = 0.4
for i in range(60):
if 0<= i < 30 or 60 <= i < 90:
a = a + 0.08
lt(3) #向左转3度
fd(a) #向前走a的步长
else:
a = a - 0.08
lt(3)
fd(a)
end_fill()
def ears(x,y):
"""画耳朵"""
color((255, 155, 192), "pink")
penup()
goto(x, y)
pendown()
begin_fill()
setheading(100)
circle(-50, 50)
circle(-10, 120)
circle(-50, 54)
end_fill()
penup()
setheading(90)
forward(-12)
setheading(0)
forward(30)
pendown()
begin_fill()
setheading(90)
circle(-50, 50)
circle(-10, 120)
circle(-50, 56)
end_fill()
def eyes(x,y):
"""画眼睛"""
color((255, 155, 192), "white")
penup()
setheading(90)
forward(-20)
setheading(0)
forward(-95)
pendown()
begin_fill()
circle(15)
end_fill()
color("black")
penup()
setheading(90)
forward(12)
setheading(0)
forward(-3)
pendown()
begin_fill()
circle(3)
end_fill()
color((255, 155, 192), "white")
penup()
seth(90)
forward(-25)
seth(0)
forward(40)
pendown()
begin_fill()
circle(15)
end_fill()
color("black")
penup()
setheading(90)
forward(12)
setheading(0)
forward(-3)
pendown()
begin_fill()
circle(3)
end_fill()
def cheek(x,y):
"""画脸颊"""
color((255, 155, 192))
penup()
goto(x,y)
pendown()
setheading(0)
begin_fill()
circle(30)
end_fill()
def mouth(x,y):
"""画嘴巴"""
color(239, 69, 19)
penup()
goto(x, y)
pendown()
setheading(-80)
circle(30, 40)
circle(40, 80)
def body(x,y):
'''画身体'''
penup()
goto(x,y)
pencolor('red')
fillcolor(250,106,106)
pendown()
begin_fill()
setheading(-66)
circle(-450,17)
setheading(180)
forward(185)
setheading(85)
circle(-450,17)
end_fill()
'''右手'''
penup()
goto(110,-45)
pendown()
pensize(8)
pencolor(255, 192, 203)
setheading(30)
circle(-400,10)
penup()
goto(167,-5)
pendown()
setheading(-120)
forward(20)
left(100)
forward(20)
'''左手'''
penup()
goto(-25,-45)
pendown()
pencolor(255, 192, 203)
setheading(150)
circle(400,10)
penup()
goto(-78,-6)
pendown()
setheading(-60)
forward(20)
right(100)
forward(20)
def feet1(x,y):
pensize(7)
pencolor(255, 192, 203)
penup()
goto(x,y)
setheading(-90)
pendown()
forward(10)
penup()
goto(x-12,y-10)
pendown()
pencolor(238,201,0)
fillcolor(238,230,132)
begin_fill()
setheading(0)
forward(24)
right(90)
forward(36)
right(90)
forward(40)
circle(-10,180)
forward(16)
left(90)
forward(12)
end_fill()
def feet2(x,y):
pensize(7)
pencolor(255, 192, 203)
penup()
goto(x,y)
setheading(-90)
pendown()
forward(10)
penup()
goto(x-12,y-10)
pendown()
pencolor(238,201,0)
fillcolor(238,230,132)
begin_fill()
setheading(0)
forward(24)
right(90)
forward(36)
right(90)
forward(40)
circle(-10,180)
forward(16)
left(90)
forward(12)
end_fill()
def tail(x,y):
pensize(8)
penup()
goto(x,y)
pendown()
pencolor(255, 192, 203)
setheading(-5)
circle(30,100)
circle(10,180)
circle(20,150)
def backg(x):
penup()
goto(-420,x)
setheading(0)
fillcolor(50,205,50)
begin_fill()
forward(840)
right(90)
forward(300)
right(90)
forward(840)
right(90)
forward(300)
end_fill()
setheading(0)
fillcolor(0,191,255)
begin_fill()
forward(840)
left(90)
forward(600)
left(90)
forward(840)
left(90)
forward(600)
end_fill()
def cloude1(x, y):
"""画云"""
penup()
goto(x,y)
setheading(90)
fillcolor(255,255,255)
begin_fill()
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i <90:
a = a + 0.14
# 向左转3度
left(3)
# 向前走
forward(a)
else:
a = a - 0.15
left(3)
forward(a)
end_fill()
def cloude2(x, y):
"""画云"""
penup()
goto(x,y)
setheading(90)
fillcolor(255,255,255)
begin_fill()
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i <90:
a = a + 0.15
# 向左转3度
left(3)
# 向前走
forward(a)
else:
a = a - 0.13
left(3)
forward(a)
end_fill()
def setting():
"""设置参数"""
pensize(5)
# 隐藏海龟
hideturtle()
colormode(255)
color((255, 155, 192), "pink")
setup(840, 700)
speed(10)
def main():
"""主函数"""
setting()
backg(0)
body(105,-20)
nose(-100, 100)
head(-69, 167)
ears(0, 160)
eyes(0, 140)
cheek(80, 10)
mouth(-20, 30)
feet1(10,-150)
feet2(90,-150)
tail(130,-110)
cloude1(-200,200)
cloude2(300,300)
done()
if __name__ == '__main__':
main()
import turtle
from turtle import *
turtle.title('小猪佩奇')
def nose(x,y):
"""画鼻子"""
pensize(5)
pencolor((255, 155, 192))
penup()
# 将海龟移动到指定的坐标
goto(x,y)
pendown()
# 设置海龟的方向(0-东、90-北、180-西、270-南)
setheading(-30)
begin_fill()
fillcolor(255, 192, 203)
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i <90:
a = a + 0.08
# 向左转3度
left(3)
# 向前走
forward(a)
else:
a = a - 0.08
left(3)
forward(a)
end_fill()
penup()
setheading(90)
forward(25)
setheading(0)
forward(10)
pendown()
"""设置画笔的颜色(红, 绿, 蓝)"""
pencolor(255, 155, 192)
setheading(10)
begin_fill()
circle(5)
color(160, 82, 45)
end_fill()
penup()
setheading(0)
forward(20)
pendown()
pencolor(255, 155, 192)
setheading(10)
begin_fill()
circle(5)
color(160, 82, 45)
end_fill()
def head(x, y):
"""画头"""
color((255, 155, 192), "pink")
penup()
goto(x,y)
setheading(0)
pendown()
begin_fill()
setheading(180)
circle(300, -30)
circle(100, -60)
circle(80, -100)
circle(150, -20)
circle(60, -95)
setheading(161)
circle(-300, 15)
penup()
goto(-100, 100)
pendown()
setheading(-30)
a = 0.4
for i in range(60):
if 0<= i < 30 or 60 <= i < 90:
a = a + 0.08
lt(3) #向左转3度
fd(a) #向前走a的步长
else:
a = a - 0.08
lt(3)
fd(a)
end_fill()
def ears(x,y):
"""画耳朵"""
color((255, 155, 192), "pink")
penup()
goto(x, y)
pendown()
begin_fill()
setheading(100)
circle(-50, 50)
circle(-10, 120)
circle(-50, 54)
end_fill()
penup()
setheading(90)
forward(-12)
setheading(0)
forward(30)
pendown()
begin_fill()
setheading(90)
circle(-50, 50)
circle(-10, 120)
circle(-50, 56)
end_fill()
def eyes(x,y):
"""画眼睛"""
color((255, 155, 192), "white")
penup()
setheading(90)
forward(-20)
setheading(0)
forward(-95)
pendown()
begin_fill()
circle(15)
end_fill()
color("black")
penup()
setheading(90)
forward(12)
setheading(0)
forward(-3)
pendown()
begin_fill()
circle(3)
end_fill()
color((255, 155, 192), "white")
penup()
seth(90)
forward(-25)
seth(0)
forward(40)
pendown()
begin_fill()
circle(15)
end_fill()
color("black")
penup()
setheading(90)
forward(12)
setheading(0)
forward(-3)
pendown()
begin_fill()
circle(3)
end_fill()
def cheek(x,y):
"""画脸颊"""
color((255, 155, 192))
penup()
goto(x,y)
pendown()
setheading(0)
begin_fill()
circle(30)
end_fill()
def mouth(x,y):
"""画嘴巴"""
color(239, 69, 19)
penup()
goto(x, y)
pendown()
setheading(-80)
circle(30, 40)
circle(40, 80)
def body(x,y):
'''画身体'''
penup()
goto(x,y)
pencolor('red')
fillcolor(250,106,106)
pendown()
begin_fill()
setheading(-66)
circle(-450,17)
setheading(180)
forward(185)
setheading(85)
circle(-450,17)
end_fill()
'''右手'''
penup()
goto(110,-45)
pendown()
pensize(8)
pencolor(255, 192, 203)
setheading(30)
circle(-400,10)
penup()
goto(167,-5)
pendown()
setheading(-120)
forward(20)
left(100)
forward(20)
'''左手'''
penup()
goto(-25,-45)
pendown()
pencolor(255, 192, 203)
setheading(150)
circle(400,10)
penup()
goto(-78,-6)
pendown()
setheading(-60)
forward(20)
right(100)
forward(20)
def feet1(x,y):
pensize(7)
pencolor(255, 192, 203)
penup()
goto(x,y)
setheading(-90)
pendown()
forward(10)
penup()
goto(x-12,y-10)
pendown()
pencolor(238,201,0)
fillcolor(238,230,132)
begin_fill()
setheading(0)
forward(24)
right(90)
forward(36)
right(90)
forward(40)
circle(-10,180)
forward(16)
left(90)
forward(12)
end_fill()
def feet2(x,y):
pensize(7)
pencolor(255, 192, 203)
penup()
goto(x,y)
setheading(-90)
pendown()
forward(10)
penup()
goto(x-12,y-10)
pendown()
pencolor(238,201,0)
fillcolor(238,230,132)
begin_fill()
setheading(0)
forward(24)
right(90)
forward(36)
right(90)
forward(40)
circle(-10,180)
forward(16)
left(90)
forward(12)
end_fill()
def tail(x,y):
pensize(8)
penup()
goto(x,y)
pendown()
pencolor(255, 192, 203)
setheading(-5)
circle(30,100)
circle(10,180)
circle(20,150)
def backg(x):
penup()
goto(-420,x)
setheading(0)
fillcolor(50,205,50)
begin_fill()
forward(840)
right(90)
forward(300)
right(90)
forward(840)
right(90)
forward(300)
end_fill()
setheading(0)
fillcolor(0,191,255)
begin_fill()
forward(840)
left(90)
forward(600)
left(90)
forward(840)
left(90)
forward(600)
end_fill()
def cloude1(x, y):
"""画云"""
penup()
goto(x,y)
setheading(90)
fillcolor(255,255,255)
begin_fill()
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i <90:
a = a + 0.14
# 向左转3度
left(3)
# 向前走
forward(a)
else:
a = a - 0.15
left(3)
forward(a)
end_fill()
def cloude2(x, y):
"""画云"""
penup()
goto(x,y)
setheading(90)
fillcolor(255,255,255)
begin_fill()
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i <90:
a = a + 0.15
# 向左转3度
left(3)
# 向前走
forward(a)
else:
a = a - 0.13
left(3)
forward(a)
end_fill()
def setting():
"""设置参数"""
pensize(5)
# 隐藏海龟
hideturtle()
colormode(255)
color((255, 155, 192), "pink")
setup(840, 700)
speed(10)
def main():
"""主函数"""
setting()
backg(0)
body(105,-20)
nose(-100, 100)
head(-69, 167)
ears(0, 160)
eyes(0, 140)
cheek(80, 10)
mouth(-20, 30)
feet1(10,-150)
feet2(90,-150)
tail(130,-110)
cloude1(-200,200)
cloude2(300,300)
done()
if __name__ == '__main__':
main()