资讯专栏INFORMATION COLUMN

用Python画小人发射爱心,还有弹窗设计哦!

siberiawolf / 1678人阅读

摘要:这些代码里含有弹窗设计,可以根据好友选择来进入不同画面,简单有趣的中秋礼物哦这是我第一次用画画,水平有限,如有问题,请指正哦还没有进一步简化,代码写得很啰嗦。

这些代码里含有弹窗设计,可以根据好友选择来进入不同画面,简单有趣的中秋礼物哦

这是我第一次用turtle画画,水平有限,如有问题,请指正哦!(还没有进一步简化,代码写得很啰嗦。)

如果想发给朋友的话,可以将代码打包为exe,具体步骤如下:

1.先在桌面创建文件夹

2.将要打包的python文件放进该文件夹

3.在该文件夹打开命令行(如图)并输入:pyinstaller -F filename.py(你的文件名)

4.在dist文件夹里就可以找到你想要的小程序啦hhhhhh

先来两张成果图(这是经过弹窗选择后的不同结果)

 

下面是代码,需要自取哦!

##Author:Griffy##Date:2021-9-21from turtle import *import timeimport PySimpleGUI as sg     #弹框制作模块def draw_count_down(i):        #倒数    bgcolor("black")    speed(0)    up()    goto(-50,-100)    color("white")    write(i, align="center",font=("Times New Roman", 200, "bold"))    time.sleep(1)def draw_moon():                 #画月亮    bgcolor("#093FB7")    color("#F4EE00", "#F4EE00")    begin_fill()    speed(2)    up()    goto(0, -300)    down()    circle(300)    end_fill()def draw_people():    #画小人    up()    fillcolor()    begin_fill()    color("black","white")    goto(-300, 50)  # 脖子坐标    down()    circle(75)  # 半径为75的脑袋    end_fill()    right(90)    forward(175)  # 身体的长度175像素    right(45)    forward(100)  # 腿长100像素    up()    goto(-300, -120)  # 画另一条腿    down()    left(90)    forward(100)    up()    goto(-300, -5)  # 手臂坐标    down()    left(45)    forward(100)  # 第一只手臂长度    left(45)    forward(67)  # 手掌长度    up()    goto(-300, -40)  # 第二只手臂坐标    down()    right(45)    forward(100)  # 第二只手臂长度    right(45)    forward(67)    up()    goto(-330, 155)  # 第一只眼睛起始坐标    down()    right(45)    forward(50)  # 眼睛长度为50    up()    goto(-270, 155)  # 第二只眼睛起始坐标    down()    forward(50)    up()    pencolor("#F39F79")    goto(-340,100) #红脸蛋第一只眼    seth(0)    down()    backward(40)    up()    goto(-260, 100)  # 红脸蛋第二只眼    down()    forward(40)    time.sleep(1)def draw_heart(size):            # 画爱心    color("red", "pink")    down()    setheading(150)    begin_fill()    forward(size)    circle(size * -3.745, 45)    circle(size * -1.431, 165)    left(120)    circle(size * -1.431, 165)    circle(size * -3.745, 45)    forward(size)    end_fill()def send_heart():                  #发射爱心    up()    goto(-50, -22)    draw_heart(14)    up()    goto(120, -22)    draw_heart(25)    penup()    goto(305, -22)    draw_heart(43)def wr_character():    up()    goto(-50,-200)    pencolor("black")    write("中", font=("幼圆", 60, "bold"))    up()    goto(50,-200)    write("秋", font=("幼圆", 60, "bold"))    up()    goto(150,-200)    write("快", font=("幼圆", 60, "bold"))    up()    goto(250,-200)    write("乐", font=("幼圆", 60, "bold"))def draw_pupu():       #画便便    up()    shapesize(10, 2)    speed(2)    fillcolor()    color("#805140","#805140")    begin_fill()    goto(-50, -20)    down()    circle(20)    end_fill()    begin_fill()    up()    goto(-50, -80)    down()    circle(40)    end_fill()    begin_fill()    up()    goto(10, -110)    seth(90)    down()    circle(60,180)    seth(0)    forward(120)    end_fill()def present_good():        #认为我是好人送的礼物    setup(1000,700)    pensize(10)    hideturtle()    numbers=[5,4,3,2,1]      #进行倒数    for i in numbers:        draw_count_down(i)        undo()    draw_moon()    draw_people()    send_heart()    wr_character()    done()def present_bad():     #认为我不好送的礼物    setup(1000, 700)    pensize(10)    hideturtle()    numbers=[5,4,3,2,1]      #进行倒数    for i in numbers:        draw_count_down(i)        undo()    draw_moon()    draw_people()    draw_pupu()    wr_character()    done()layout=[                                    #弹框内容设计    [sg.Text("请输入你的名字:")],[sg.Input()],    [sg.Text("请回答下面这个问题哦!")],    [sg.Text("xxx是个大好人是吗?")],    [sg.Button("是的是的")],[sg.Button("不是")]]sg.popup("你好呀!我是你的好朋友xxx为你定制的中秋节礼物⭐","请按OK键继续") #这是一个简易弹框time.sleep(1)window=sg.Window("中秋礼物",layout)event,value=window.read()window.close()if event == "是的是的":    sg.popup(f"{value[0]}请按OK键接收xxx的中秋礼物!♥")   #这是一个简易弹框  #这里的value[0],是因为value返回内容为字典    time.sleep(1)    present_good()else:    sg.popup(f"{value[0]}竟然对xxx有意见,你还想要礼物!!","但是xxx是个大度的人,送你礼物吧","请按OK键接收xxx的中秋礼物!")              present_bad()

弹框里的问题和文字大家可以根据自己的想法进行设计哈!

最后,祝大家中秋快乐!!!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119996.html

相关文章

  • Python纪念册】哪些浪漫至极的表白程序—“你做我的男孩,我做你的宇宙”

    摘要:完整的资料源码都打包等你来取哈免费滴直接视频效果展示如下纪念册哪些浪漫至极的表白程序截图展示如下界面漫天花瓣飞舞。  导语 大家好,我是木木子!​​ 今日的表白案例上线啦~有没有期待?安排安排!源码基地见免费源码哈! 贴心的木子君也给你们好多爱心花瓣、以及表白的小程序!在主页的左侧哦! 这款...

    aisuhua 评论0 收藏0
  • 建造者(Builder)模式 的若干使场景

    摘要:建造的过程在指挥者这里完成,用户就不需要知道了客户端代码场景二遇到多个构造器参数时要考虑用构建器。重叠构造器模式可行,但是当有许多参数的时候,客户端代码会很难编写,并且仍然难以阅读。 1.场景一 如果我们需要将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图时,我们可以使用 Builder模式,又叫生成器模式。如果我们用了Builder模式,那么用户就只需要...

    abson 评论0 收藏0
  • Python+Pygame,见缝插针游戏的实现途径

      小编写这篇文章的主要目的,是给大家介绍下,关于Python+Pygame,这一见缝插针游戏实习的途径,下面是具体的代码实例,希望可以给各位读者带来帮助。  前言:  奶奶说:  这个夏天真的是有点热啊。  热的简直让人无法忍受。。。  身体一动就会出汗。。。。。  想玩点小游戏都没地方玩了。。。  《见缝插针》这个游戏好玩吗?《见缝插针》它到底怎么玩呢?  只要是你能想到的,这些游戏代码,我统...

    89542767 评论0 收藏0
  • 一起 HTML5 Canvas 做一个简单又骚气的粒子引擎

    摘要:废话少说,先看,扫描后点击屏幕有惊喜哦本文将教会你做一个简单的粒子制造器下称引擎。发射器用来发射粒子的单位。重力加速度和热气他们的方向是垂直的,风影响方向是水平的,有了这三个东西,我们就能让粒子动得很风骚了。 腾讯Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处。 前言 好...

    mudiyouyou 评论0 收藏0
  • 前端每日实战 167# 视频演示如何 1 个 dom 元素创作两颗爱心

    摘要:每一个阴影属性值就可以绘制出一个圆点,因为可以接收多个属性性,所以就可以用多个圆点来画点阵图了。 showImg(https://segmentfault.com/img/bVbsSVm?w=400&h=348); 效果预览 按下右侧的点击预览按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/KLvENb 可交互视频 此视频...

    LdhAndroid 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<