设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12344|回复: 0

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

[复制链接]

68

主题

0

回帖

216

积分

中级会员

Rank: 3Rank: 3

积分
216
发表于 2022-3-26 11:01:22 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
目录


导语

哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本、小程序之后,越发不可收拾了,哈哈哈。
常常会有小粉丝说:这......小程序不够啊!刚表白去了,但是被拉黑了。
那我不答应了,我得努努力:多多益善给大家开发一些更有趣的各种各样的适合表白的小程序!
让每个人都争取过年带着对象回家过年~嘿嘿嘿
今天,木木子推荐一个定制表白恋爱的项目:恋爱对话小程序
这个简单的项目,居然还蛮有趣的——如何操作?快来了解下。

一、小简介

turtle:绘图模块
PySimpleGUI:弹框制作模块(一个非常简单好用的Python图形界面库(PysimpleGUI))
1)环境安装
本文所用到的环境:Python3、Pycharm、PySimpleGUI、Turtle、time模块。
环境安装:pip install +模块名 或带豆瓣镜像源pip install -i
https://pypi.douban.com/simple/ +模块名

二、代码演示


1)导入模块
  1. from turtle import *
  2. import time
  3. import PySimpleGUI as sg     
复制代码
2)倒计时
  1. def draw_count_down(i):        #倒数
  2.     bgcolor('black')
  3.     speed(0)
  4.     up()
  5.     goto(-50,-100)
  6.     color('white')
  7.     write(i, align="center",font=('Times New Roman', 200, 'bold'))
  8.     time.sleep(1)
复制代码
3)画2份不同的礼物
  1. def draw_people():    #画小人
  2.     up()
  3.     fillcolor()
  4.     begin_fill()
  5.     color('black','white')
  6.     goto(-300, 50)  # 脖子坐标
  7.     down()
  8.     circle(75)  # 半径为75的脑袋
  9.     end_fill()
  10.     right(90)
  11.     forward(175)  # 身体的长度175像素
  12.     right(45)
  13.     forward(100)  # 腿长100像素
  14.     up()
  15.     goto(-300, -120)  # 画另一条腿
  16.     down()
  17.     left(90)
  18.     forward(100)
  19.     up()
  20.     goto(-300, -5)  # 手臂坐标
  21.     down()
  22.     left(45)
  23.     forward(100)  # 第一只手臂长度
  24.     left(45)
  25.     forward(67)  # 手掌长度
  26.     up()
  27.     goto(-300, -40)  # 第二只手臂坐标
  28.     down()
  29.     right(45)
  30.     forward(100)  # 第二只手臂长度
  31.     right(45)
  32.     forward(67)
  33.     up()
  34.     goto(-330, 155)  # 第一只眼睛起始坐标
  35.     down()
  36.     right(45)
  37.     forward(50)  # 眼睛长度为50
  38.     up()
  39.     goto(-270, 155)  # 第二只眼睛起始坐标
  40.     down()
  41.     forward(50)
  42.     up()
  43.     pencolor('#F39F79')
  44.     goto(-340,100) #红脸蛋第一只眼
  45.     seth(0)
  46.     down()
  47.     backward(40)
  48.     up()
  49.     goto(-260, 100)  # 红脸蛋第二只眼
  50.     down()
  51.     forward(40)
  52.     time.sleep(1)

  53. def draw_heart(size):            # 画爱心
  54.     color('red', 'red')
  55.     down()
  56.     setheading(150)
  57.     begin_fill()
  58.     forward(size)
  59.     circle(size * -3.745, 45)
  60.     circle(size * -1.431, 165)
  61.     left(120)
  62.     circle(size * -1.431, 165)
  63.     circle(size * -3.745, 45)
  64.     forward(size)
  65.     end_fill()

  66. def send_heart():                  #发射爱心
  67.     up()
  68.     goto(-50, -22)
  69.     draw_heart(14)
  70.     up()
  71.     goto(120, -22)
  72.     draw_heart(25)
  73.     penup()
  74.     goto(305, -22)
  75.     draw_heart(43)

  76. def wr_character():
  77.     up()
  78.     goto(-50,-200)
  79.     pencolor('black')
  80.     write('惊', font=('行楷', 60, 'bold'))
  81.     up()
  82.     goto(50,-200)
  83.     write('不', font=('行楷', 60, 'bold'))
  84.     up()
  85.     goto(150,-200)
  86.     write('惊', font=('行楷', 60, 'bold'))
  87.     up()
  88.     goto(250,-200)
  89.     write('喜', font=('行楷', 60, 'bold'))

  90. def draw_pupu():       #画xxxx
  91.     up()
  92.     shapesize(10, 2)
  93.     speed(2)
  94.     fillcolor()
  95.     color('#805140','#805140')
  96.     begin_fill()
  97.     goto(-50, -20)
  98.     down()
  99.     circle(20)
  100.     end_fill()
  101.     begin_fill()
  102.     up()
  103.     goto(-50, -80)
  104.     down()
  105.     circle(40)
  106.     end_fill()
  107.     begin_fill()
  108.     up()
  109.     goto(10, -110)
  110.     seth(90)
  111.     down()
  112.     circle(60,180)
  113.     seth(0)
  114.     forward(120)
  115.     end_fill()
复制代码
4)二种选择是不同的绘图倒计时之后就是绘制你回答的那个礼物。
  1. def present_good():        #选择是送的礼物
  2.     setup(1000,700)
  3.     pensize(10)
  4.     hideturtle()

  5.     numbers=[5,4,3,2,1]      #进行倒数
  6.     for i in numbers:
  7.         draw_count_down(i)
  8.         undo()
  9.     draw_moon()
  10.     draw_people()
  11.     send_heart()
  12.     wr_character()
  13.     done()

  14. def present_bad():     #选择不是送的礼物
  15.     setup(1000, 700)
  16.     pensize(10)
  17.     hideturtle()
  18.     numbers=[5,4,3,2,1]      #进行倒数
  19.     for i in numbers:
  20.         draw_count_down(i)
  21.         undo()
  22.     draw_moon()
  23.     draw_people()
  24.     draw_pupu()
  25.     wr_character()
  26.     done()
复制代码
5)弹窗设计的文字(可修改)
  1. layout=[                                    #弹框内容设计
  2.     [sg.Text('请输入你的名字:')],[sg.Input()],
  3.     [sg.Text('请回答下面这个问题哦!')],
  4.     [sg.Text('我是你喜欢的类型嘛?')],
  5.     [sg.Button('是的是的')],[sg.Button('不是')]
  6. ]

  7. sg.popup('你好呀!我是你的好朋友为你定制的专属男朋友','请按OK键继续') #这是一个简易弹框
  8. time.sleep(1)
  9. window=sg.Window('小可爱',layout)
  10. event,value=window.read()
  11. window.close()
  12. if event == '是的是的':
  13.     sg.popup(f'{value[0]}请按OK键接收男朋友的礼物!♥')   #这是一个简易弹框  #这里的value[0],是因为value返回内容为字典
  14.     time.sleep(1)
  15.     present_good()
  16. else:
  17.     sg.popup(f'{value[0]}竟然对我有意见,心碎了!!','但你的男友是个大度的人,送你一个小礼物吧','请按OK键接收我心碎的礼物!')
  18.     present_bad()
复制代码
三、效果展示


1)视频展示

可能视频的话我录制的比较粗糙,感觉有点儿看不清楚!
Turtle系列: 恋爱对话小程序之我是你喜欢的类型嘛?

2)截图展示

2.1 弹窗界面

2.2 倒计时5秒

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

以上就是基于Python实现的恋爱对话小程序详解的详细内容,更多关于Python恋爱对话小程序的资料请关注脚本之家其它相关文章!
                                                        
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表