|
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
目录
导语
哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本、小程序之后,越发不可收拾了,哈哈哈。
常常会有小粉丝说:这......小程序不够啊!刚表白去了,但是被拉黑了。
那我不答应了,我得努努力:多多益善给大家开发一些更有趣的各种各样的适合表白的小程序!
让每个人都争取过年带着对象回家过年~嘿嘿嘿
今天,木木子推荐一个定制表白恋爱的项目:恋爱对话小程序
这个简单的项目,居然还蛮有趣的——如何操作?快来了解下。
一、小简介
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恋爱对话小程序的资料请关注脚本之家其它相关文章!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
|