Python 彈窗設(shè)計(jì)小人發(fā)射愛(ài)心
這些代碼里含有彈窗設(shè)計(jì),可以根據(jù)好友選擇來(lái)進(jìn)入不同畫面,簡(jiǎn)單有趣的中秋禮物哦
這是我第一次用turtle畫畫,水平有限,如有問(wèn)題,請(qǐng)指正哦?。ㄟ€沒(méi)有進(jìn)一步簡(jiǎn)化,代碼寫得很啰嗦。)
如果想發(fā)給朋友的話,可以將代碼打包為exe,具體步驟如下:
- 1.先在桌面創(chuàng)建文件夾
- 2.將要打包的python文件放進(jìn)該文件夾
- 3.在該文件夾打開命令行(如圖)并輸入:pyinstaller -F filename.py(你的文件名)
- 4.在dist文件夾里就可以找到你想要的小程序啦hhhhhh

先來(lái)兩張成果圖(這是經(jīng)過(guò)彈窗選擇后的不同結(jié)果)


下面是代碼,需要自取哦!
##Author:Griffy
##Date:2021-9-21
from turtle import *
import time
import PySimpleGUI as sg #彈框制作模塊
def draw_count_down(i): #倒數(shù)
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) # 脖子坐標(biāo)
down()
circle(75) # 半徑為75的腦袋
end_fill()
right(90)
forward(175) # 身體的長(zhǎng)度175像素
right(45)
forward(100) # 腿長(zhǎng)100像素
up()
goto(-300, -120) # 畫另一條腿
down()
left(90)
forward(100)
up()
goto(-300, -5) # 手臂坐標(biāo)
down()
left(45)
forward(100) # 第一只手臂長(zhǎng)度
left(45)
forward(67) # 手掌長(zhǎng)度
up()
goto(-300, -40) # 第二只手臂坐標(biāo)
down()
right(45)
forward(100) # 第二只手臂長(zhǎng)度
right(45)
forward(67)
up()
goto(-330, 155) # 第一只眼睛起始坐標(biāo)
down()
right(45)
forward(50) # 眼睛長(zhǎng)度為50
up()
goto(-270, 155) # 第二只眼睛起始坐標(biāo)
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): # 畫愛(ài)心
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(): #發(fā)射愛(ài)心
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('樂(lè)', 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(): #認(rèn)為我是好人送的禮物
setup(1000,700)
pensize(10)
hideturtle()
numbers=[5,4,3,2,1] #進(jìn)行倒數(shù)
for i in numbers:
draw_count_down(i)
undo()
draw_moon()
draw_people()
send_heart()
wr_character()
done()
def present_bad(): #認(rèn)為我不好送的禮物
setup(1000, 700)
pensize(10)
hideturtle()
numbers=[5,4,3,2,1] #進(jìn)行倒數(shù)
for i in numbers:
draw_count_down(i)
undo()
draw_moon()
draw_people()
draw_pupu()
wr_character()
done()
layout=[ #彈框內(nèi)容設(shè)計(jì)
[sg.Text('請(qǐng)輸入你的名字:')],[sg.Input()],
[sg.Text('請(qǐng)回答下面這個(gè)問(wèn)題哦!')],
[sg.Text('xxx是個(gè)大好人是嗎?')],
[sg.Button('是的是的')],[sg.Button('不是')]
]
sg.popup('你好呀!我是你的好朋友xxx為你定制的中秋節(jié)禮物⭐','請(qǐng)按OK鍵繼續(xù)') #這是一個(gè)簡(jiǎn)易彈框
time.sleep(1)
window=sg.Window('中秋禮物',layout)
event,value=window.read()
window.close()
if event == '是的是的':
sg.popup(f'{value[0]}請(qǐng)按OK鍵接收xxx的中秋禮物!♥') #這是一個(gè)簡(jiǎn)易彈框 #這里的value[0],是因?yàn)関alue返回內(nèi)容為字典
time.sleep(1)
present_good()
else:
sg.popup(f'{value[0]}竟然對(duì)xxx有意見(jiàn),你還想要禮物??!','但是xxx是個(gè)大度的人,送你禮物吧','請(qǐng)按OK鍵接收xxx的中秋禮物!')
present_bad()
彈框里的問(wèn)題和文字大家可以根據(jù)自己的想法進(jìn)行設(shè)計(jì)哈!
最后,祝大家中秋快樂(lè)?。?!
到此這篇關(guān)于Python 彈窗設(shè)計(jì)小人發(fā)射愛(ài)心的文章就介紹到這了,更多相關(guān)Python 小人發(fā)射愛(ài)心內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python Pandas中數(shù)據(jù)的合并與分組聚合
大家好,本篇文章主要講的是python Pandas中數(shù)據(jù)的合并與分組聚合,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
Python使用Joblib模塊實(shí)現(xiàn)加快任務(wù)處理速度
在Python編程中,處理大規(guī)模數(shù)據(jù)或者進(jìn)行復(fù)雜的計(jì)算任務(wù)時(shí),通常需要考慮如何提高程序的運(yùn)行效率,本文主要介紹了如何使用Joblib模塊來(lái)加快任務(wù)處理速度,需要的可以參考下2024-03-03
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)字典相關(guān)計(jì)算問(wèn)題示例
這篇文章主要介紹了Python字典相關(guān)計(jì)算問(wèn)題,結(jié)合實(shí)例形式總結(jié)分析了Python字典相關(guān)的最小值、最大值、排序等操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-02-02
tensorflow之如何使用GPU而不是CPU問(wèn)題
這篇文章主要介紹了tensorflow之如何使用GPU而不是CPU問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Python自動(dòng)化辦公實(shí)現(xiàn)數(shù)據(jù)自動(dòng)填充需求
這篇文章主要為大家介紹了Python自動(dòng)化辦公實(shí)現(xiàn)數(shù)據(jù)自動(dòng)填充需求,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
python控制臺(tái)打印log輸出重復(fù)的解決方法
在學(xué)習(xí)了python的函數(shù)式編程后,又接觸到了logging這樣一個(gè)強(qiáng)大的日志模塊。這篇文章主要給大家介紹了關(guān)于python控制臺(tái)打印log輸出重復(fù)的解決方法,需要的朋友可以參考下2021-05-05
python利用小波分析進(jìn)行特征提取的實(shí)例
今天小編就為大家分享一篇python利用小波分析進(jìn)行特征提取的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
python 中的collections.OrderedDict() 用法
這篇文章主要介紹了python 中的collections.OrderedDict() 用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05

