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 小人發射愛心內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python繪圖模塊之利用turtle畫圖
- python練習之曾經很火的小人畫愛心表白代碼
- Python制作表白愛心合集
- Python海龜繪圖之繪制趣味簡筆畫
- Python利用Turtle庫繪制一個小老虎