跳转到主内容
极星编程网:以代码为星,赴技术山海!

Python 弹窗设计小人发射爱心

这些代码里含有弹窗设计,可以根据好友选择来进入不同画面,简单有趣的中秋礼物哦这是我第一次用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 小人发射爱心内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:使用Python画出小人发射爱心的代码python画一个玫瑰和一个爱心python爱心表白 每天都是浪漫七夕!利用python实现全屏爱心雨向喜欢的人表白

相关文章