基于Python實(shí)現(xiàn)的戀愛(ài)對(duì)話小程序詳解
導(dǎo)語(yǔ)
哈嘍!大家好~我是木木子啦!自從寫(xiě)了一些表白類型的一些小腳本、小程序之后,越發(fā)不可收拾了,哈哈哈。
常常會(huì)有小粉絲說(shuō):這......小程序不夠?。偙戆兹チ?,但是被拉黑了。
那我不答應(yīng)了,我得努努力:多多益善給大家開(kāi)發(fā)一些更有趣的各種各樣的適合表白的小程序!
讓每個(gè)人都爭(zhēng)取過(guò)年帶著對(duì)象回家過(guò)年~嘿嘿嘿
今天,木木子推薦一個(gè)定制表白戀愛(ài)的項(xiàng)目:戀愛(ài)對(duì)話小程序
這個(gè)簡(jiǎn)單的項(xiàng)目,居然還蠻有趣的——如何操作?快來(lái)了解下。
一、小簡(jiǎn)介
turtle:繪圖模塊
PySimpleGUI:彈框制作模塊(一個(gè)非常簡(jiǎn)單好用的Python圖形界面庫(kù)(PysimpleGUI))
1)環(huán)境安裝
本文所用到的環(huán)境:Python3、Pycharm、PySimpleGUI、Turtle、time模塊。
環(huán)境安裝:pip install +模塊名 或帶豆瓣鏡像源pip install -i
https://pypi.douban.com/simple/ +模塊名
二、代碼演示
1)導(dǎo)入模塊
from turtle import * import time import PySimpleGUI as sg
2)倒計(jì)時(shí)
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)
3)畫(huà)2份不同的禮物
def draw_people(): #畫(huà)小人 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) # 畫(huà)另一條腿 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):# 畫(huà)愛(ài)心 color('red', 'red') 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('喜', font=('行楷', 60, 'bold')) def draw_pupu(): #畫(huà)xxxx 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()
4)二種選擇是不同的繪圖倒計(jì)時(shí)之后就是繪制你回答的那個(gè)禮物。
def present_good(): #選擇是送的禮物 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(): #選擇不是送的禮物 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()
5)彈窗設(shè)計(jì)的文字(可修改)
layout=[ #彈框內(nèi)容設(shè)計(jì) [sg.Text('請(qǐng)輸入你的名字:')],[sg.Input()], [sg.Text('請(qǐng)回答下面這個(gè)問(wèn)題哦!')], [sg.Text('我是你喜歡的類型嘛?')], [sg.Button('是的是的')],[sg.Button('不是')] ] sg.popup('你好呀!我是你的好朋友為你定制的專屬男朋友','請(qǐng)按OK鍵繼續(xù)') #這是一個(gè)簡(jiǎn)易彈框 time.sleep(1) window=sg.Window('小可愛(ài)',layout) event,value=window.read() window.close() if event == '是的是的': sg.popup(f'{value[0]}請(qǐng)按OK鍵接收男朋友的禮物!?')#這是一個(gè)簡(jiǎn)易彈框 #這里的value[0],是因?yàn)関alue返回內(nèi)容為字典 time.sleep(1) present_good() else: sg.popup(f'{value[0]}竟然對(duì)我有意見(jiàn),心碎了?。?,'但你的男友是個(gè)大度的人,送你一個(gè)小禮物吧','請(qǐng)按OK鍵接收我心碎的禮物!') present_bad()
三、效果展示
1)視頻展示
可能視頻的話我錄制的比較粗糙,感覺(jué)有點(diǎn)兒看不清楚!
Turtle系列: 戀愛(ài)對(duì)話小程序之我是你喜歡的類型嘛?
2)截圖展示
2.1 彈窗界面
2.2 倒計(jì)時(shí)5秒
2.3這里選擇的是“是的是的”的禮物——選擇“不是”的禮物我就不截圖了,你們自己拿源碼試試 哈哈哈保留懸鏈。選擇不是的話超驚喜滴
以上就是基于Python實(shí)現(xiàn)的戀愛(ài)對(duì)話小程序詳解的詳細(xì)內(nèi)容,更多關(guān)于Python戀愛(ài)對(duì)話小程序的資料請(qǐng)關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。