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

##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,,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(' 请输入你的名字外汇跟单gendan5.com: ')],[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()


请使用浏览器的分享功能分享到微信等