新闻动态

Python 弹窗设计小人发射爱心

发布日期:2022-01-01 22:16 | 文章来源:脚本之家

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

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

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

  • 1.先在桌面创建文件夹
  • 2.将要打包的python文件放进该文件夹
  • 3.在该文件夹打开命令行(如图)并输入:pyinstaller -F filename.py(你的文件名)
  • 4.在dist文件夹里就可以找到你想要的小程序啦hhhhhh

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

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

##Author:Griffy
##Date:2021-9-21
 
from turtle import *
import time
import 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()

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

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

到此这篇关于Python 弹窗设计小人发射爱心的文章就介绍到这了,更多相关Python 小人发射爱心内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部