基于Python实现的恋爱对话小程序详解

导语

哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本、小程序之后,越发不可收拾了,哈哈哈。

常常会有小粉丝说:这......小程序不够啊!刚表白去了,但是被拉黑了。

那我不答应了,我得努努力:多多益善给大家开发一些更有趣的各种各样的适合表白的小程序!

让每个人都争取过年带着对象回家过年~嘿嘿嘿

今天,木木子推荐一个定制表白恋爱的项目:恋爱对话小程序

这个简单的项目,居然还蛮有趣的——如何操作?快来了解下。

一、小简介

turtle:绘图模块

PySimpleGUI:弹框制作模块(一个非常简单好用的Python图形界面库(PysimpleGUI))

1)环境安装

本文所用到的环境:Python3、Pycharm、PySimpleGUI、Turtle、time模块。

环境安装:pip install +模块名 或带豆瓣镜像源pip install -i 

https://pypi.douban.com/simple/ +模块名

二、代码演示

1)导入模块

from turtle import *

import time

import PySimpleGUI as sg

2)倒计时

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)

3)画2份不同的礼物

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', '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(): #发射爱心

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(): #画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)二种选择是不同的绘图倒计时之后就是绘制你回答的那个礼物。

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()

5)弹窗设计的文字(可修改)

layout=[                                    #弹框内容设计

[sg.Text('请输入你的名字:')],[sg.Input()],

[sg.Text('请回答下面这个问题哦!')],

[sg.Text('我是你喜欢的类型嘛?')],

[sg.Button('是的是的')],[sg.Button('不是')]

]

sg.popup('你好呀!我是你的好朋友为你定制的专属男朋友','请按OK键继续') #这是一个简易弹框

time.sleep(1)

window=sg.Window('小可爱',layout)

event,value=window.read()

window.close()

if event == '是的是的':

sg.popup(f'{value[0]}请按OK键接收男朋友的礼物!♥') #这是一个简易弹框 #这里的value[0],是因为value返回内容为字典

time.sleep(1)

present_good()

else:

sg.popup(f'{value[0]}竟然对我有意见,心碎了!!','但你的男友是个大度的人,送你一个小礼物吧','请按OK键接收我心碎的礼物!')

present_bad()

三、效果展示

1)视频展示

可能视频的话我录制的比较粗糙,感觉有点儿看不清楚!

Turtle系列: 恋爱对话小程序之我是你喜欢的类型嘛?

2)截图展示

2.1 弹窗界面

2.2 倒计时5秒

2.3这里选择的是“是的是的”的礼物——选择“不是”的礼物我就不截图了,你们自己拿源码试试 哈哈哈保留悬链。选择不是的话超惊喜滴

以上就是基于Python实现的恋爱对话小程序详解的详细内容,更多关于Python恋爱对话小程序的资料请关注其它相关文章!

以上是 基于Python实现的恋爱对话小程序详解 的全部内容, 来源链接: utcz.com/z/257068.html

回到顶部