教你用Python画哆啦A梦、海绵宝宝、皮卡丘、史迪仔!

yizhihongxing

一、哆啦A梦

教你用Python画哆啦A梦、海绵宝宝、皮卡丘、史迪仔!

 

 由于代码过长,这里仅显示部分代码:

from turtle import *
import turtle as t
from random import *


#五轨迹跳跃
def my_goto(x,y):
    penup()
    goto(x,y)
    pendown()

def eyes():
    fillcolor('#ffffff')
    begin_fill()

    tracer(False)
    a = 2.5
    for i in range(120):
        if 0<= i<30 or 60 <= i <90:
            a -= 0.05
            lt(3)
            fd(a)
        else:
            a += 0.05
            lt(3)
            fd(a)
    tracer(True)
    end_fill()


#胡须
def beard():
    my_goto(-32,135)
    seth(165)
    fd(60)

    my_goto(-32,125)
    seth(180)
    fd(60)

    my_goto(-32,115)
    seth(193)
    fd(60)

    my_goto(37,135)
    seth(15)
    fd(60)

    my_goto(37,125)
    seth(0)
    fd(60)

    my_goto(37,115)
    seth(-13)
    fd(60)


#嘴巴
def mouth():
    my_goto(5,148)
    seth(270)
    fd(100)
    seth(0)
    circle(120,50)
    seth(230)
    circle(-120,100)

 


 

二、海绵宝宝

教你用Python画哆啦A梦、海绵宝宝、皮卡丘、史迪仔!

 

 部分代码如下:

from turtle import *

def go_to(x, y):
    penup()
    goto(x, y)
    pendown()

def help_do():
    go_to(-400, 0)
    forward(800)
    go_to(-400, 100)
    forward(800)
    go_to(-400,200)
    forward(800)
    go_to(-400, -100)
    forward(800)
    go_to(-400, -200)
    forward(800)
    left(90)
    go_to(0,-300)
    forward(600)
    go_to(100, -300)
    forward(600)
    go_to(-100, -300)
    forward(600)
    go_to(-200, -300)
    forward(600)
    go_to(200, -300)
    forward(600)

def head():
    go_to(-200, 180)
    fillcolor('yellow')
    begin_fill()
    seth(-30)
    for _ in range(6):
        circle(36, 60)
        circle(-36, 60)
    seth(-125)
    for _ in range(5):
        circle(40,60)
        circle(-40,60)
    seth(-210)
    for _ in range(4):
        circle(45,60)
        circle(-45,60)
    seth(65)
    for _ in range(5):
        circle(40,60)
        circle(-40,60)
    end_fill()

 


 

三、皮卡丘

教你用Python画哆啦A梦、海绵宝宝、皮卡丘、史迪仔!

 

部分代码如下:

import turtle


def getPosition(x, y):
    turtle.setx(x)
    turtle.sety(y)
    print(x, y)


class Pikachu:

    def __init__(self):
        self.t = turtle.Turtle()
        t = self.t
        t.pensize(3)
        t.speed(9)
        t.ondrag(getPosition)

    def noTrace_goto(self, x, y):
        self.t.penup()
        self.t.goto(x, y)
        self.t.pendown()

    def leftEye(self, x, y):
        self.noTrace_goto(x, y)
        t = self.t
        t.seth(0)
        t.fillcolor('#333333')
        t.begin_fill()
        t.circle(22)
        t.end_fill()

        self.noTrace_goto(x, y + 10)
        t.fillcolor('#000000')
        t.begin_fill()
        t.circle(10)
        t.end_fill()

        self.noTrace_goto(x + 6, y + 22)
        t.fillcolor('#ffffff')
        t.begin_fill()
        t.circle(10)
        t.end_fill()

    def rightEye(self, x, y):
        self.noTrace_goto(x, y)
        t = self.t
        t.seth(0)
        t.fillcolor('#333333')
        t.begin_fill()
        t.circle(22)
        t.end_fill()

        self.noTrace_goto(x, y + 10)
        t.fillcolor('#000000')
        t.begin_fill()
        t.circle(10)
        t.end_fill()

        self.noTrace_goto(x - 6, y + 22)
        t.fillcolor('#ffffff')
        t.begin_fill()
        t.circle(10)
        t.end_fill()

 


 

四、史迪仔

教你用Python画哆啦A梦、海绵宝宝、皮卡丘、史迪仔!

 

部分代码如下:

from turtle import *

setup(650,650)
penup()
pensize(5)
speed(1000)
pencolor("#065693")
seth(180)
fd(140)
seth(-90)
fd(50)
pendown()      #起点
fillcolor("#0079C6")
begin_fill()
seth(170)
circle(-40,100)
seth(180)
fd(50)
seth(180)
circle(-10,46)
seth(130)
circle(-300,40)#耳朵外廓大圆
circle(-100,45)
right(10)
circle(-50,30)
right(10)
circle(-30,30)
left(1)
fd(2)
right(1)
fd(3)
right(4)
fd(3)
right(3)
fd(5)
right(4)
fd(6)
right(4)
fd(10)
right(4)
fd(10)
right(3)
fd(15)
right(2)
fd(20)
right(2)
fd(20)
right(4)
fd(20)
right(3)
fd(30)
right(1)
fd(40)
right(1)
fd(60)
seth(-115)
fd(5)    #脸左侧开始逆时针
circle(200,30)
end_fill()
begin_fill()
left(8)
fd(20)
left(10)
fd(20)
left(14)
circle(100,30)
left(10)
circle(150,20)
right(2)
fd(55)
left(5)
fd(40)
left(3)
fd(25)
right(3)
circle(150,20)
left(7)
circle(100,30)

 


 

五、完整源码下载

关注我的原创公众号【小鸿爱摸鱼】,回复【可爱皮卡丘】、【哆啦A梦】、【史迪仔】、【海绵宝宝】关键词获取对应的源码

 


 

六、作者Info

Author:南柯树下,Goal:让编程更有趣!

原创微信公众号:『小鸿爱摸鱼』,专注于算法、爬虫,网站,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,让我们一起成长、一起Coding!

版权声明:本文禁止抄袭、转载 ,侵权必究!

 

——  ——  ——  ——  —  END  ——  ——  ——  ——  ———— 

         欢迎扫码关注我的公众号

          小鸿爱摸鱼

       教你用Python画哆啦A梦、海绵宝宝、皮卡丘、史迪仔!

原文链接:https://www.cnblogs.com/makerchen/p/17331094.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你用Python画哆啦A梦、海绵宝宝、皮卡丘、史迪仔! - Python技术站

(0)
上一篇 2023年4月19日
下一篇 2023年4月19日

相关文章

  • 详解Python prometheus_client使用方式

    下面是详解Python prometheus_client使用方式的完整攻略: 目录 安装 prometheus_client 基本使用介绍 应用实例 收集 CPU 使用率指标 收集自定义指标 安装 prometheus_client 使用 pip 工具可以非常方便地安装 prometheus_client: pip install prometheus_c…

    python 2023年6月2日
    00
  • Python实现石头剪刀布游戏

    下面是“Python实现石头剪刀布游戏”的完整攻略。 确定游戏规则 石头剪刀布是一种猜拳游戏,游戏规则如下: 石头战胜剪刀(石头打剪刀) 剪刀战胜布(剪刀剪布) 布战胜石头(布包住石头) 如果出的手势一样,则为平局 编写程序代码 以下是一个可以实现石头剪刀布游戏的Python程序代码: import random # 定义游戏规则 rules = { ‘ro…

    python 2023年5月19日
    00
  • Python 使用元组和命名元组

    下面是Python使用元组和命名元组的完整攻略: Python使用元组 什么是元组 元组(tuple)是Python中的一种数据类型,类似于列表(list),但是不可修改。元组用一对圆括号()表示,元素之间用逗号,隔开。例如: tup = (1, 2, 3, 4, 5) 元组的操作 元组支持的操作与列表相似,包括索引、切片、拼接等。 索引 元组中的元素可以通…

    python-answer 2023年3月25日
    00
  • 基于Python中isfile函数和isdir函数使用详解

    基于Python中isfile函数和isdir函数使用详解 isfile()和isdir() 是 Python os 模块中常用的函数,用于判断文件或目录是否存在。 isfile() isfile() 用于判断给定的路径是否为文件,如果是文件则返回 True,否则返回 False。 语法 os.path.isfile(path) 参数 path:文件路径。 …

    python 2023年6月2日
    00
  • python 实用工具状态机transitions

    下面我来详细讲解一下“Python 实用工具状态机 transitions”的使用攻略。 什么是 transitions? transitions 是一个轻量级 Python 状态机库,它允许您定义状态和状态之间的转换,以及在转换时需要执行的操作和条件。状态机特别适用于控制复杂的代码流程。 安装 transitions transitions 可以通过 pi…

    python 2023年5月23日
    00
  • Python3解释器知识点总结

    Python3解释器知识点总结 什么是Python3? Python3是一门高级编程语言,由荷兰数学和计算机科学研究院的Guido van Rossum在1989年底发明。Python3最新版本是3.9.5,它非常适合初学者学习,同时也是许多企业和互联网公司中重要的编程语言之一。 Python3解释器 Python3解释器是一款执行Python3代码的工具。…

    python 2023年5月30日
    00
  • Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)

    下面是对 “Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)” 这篇文章的详细讲解。 标题 标题应该明确地说明文章的主题,因此建议使用以下标题: Python破解BiliBili滑块验证码的思路详解(完美避开人机识别) 概述 文章主要讲解如何使用 Python 破解 BiliBili 网站的滑动验证码。BiliBili 是一个流行的视…

    python 2023年6月6日
    00
  • 如何追加两个NumPy数组

    追加两个NumPy数组,可以使用numpy.concatenate()函数。该函数能将两个或多个数组沿指定轴连接。 具体用法为: numpy.concatenate((a1, a2, …), axis=0, out=None) a1, a2, …是需要连接的数组,可以用列表或元组类型传递。axis是指定需要连接的轴,如果未指定,则默认为0。这个轴的维…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部