• 【Python代码】情人节到了,表白代码肯定是少不了的啦


    情人节到了,那么等着表白的兄弟,你们怎么样啦!!
    今天带大家用Python做一个表白神器,冲就完事啦!!!!

    相关文件

    关注小编,私信小编领取哟!
    当然别忘了一件三连哟~~

    公众号:Python日志
    可以关注小编公众号,会不定时的发布一下Python小技巧,还有很多资源可以免费领取哟!!
    源码领取:加Python学习交流群:494958217 可以领取哟

    开发工具

    Python版本:3.7.8
    相关模块:
    pygame模块;
    random模块;
    sys模块;
    os模块;
    以及一些python自带的模块。

    环境搭建

    安装Python并添加到环境变量,pip安装需要的相关模块即可。

    效果展示

    图片效果
    在这里插入图片描述
    视频展示

    七夕到了,不知道怎么表白嘛,程序员教你一招!!

    代码展示

    基础设置

    # 设置窗口长宽
    WIDTH, HEIGHT = 640, 480
    # 设置背景颜色RGB
    BACKGROUND = (255, 255, 255)
    # 设置基础文件路径
    if getattr(sys, 'frozen', False):
        CurrentPath = sys._MEIPASS
    else:
        CurrentPath = os.path.dirname(__file__)
    # 字体文件路径
    FONTPATH = os.path.join(CurrentPath, 'msyhl.ttc')
    # 音乐文件路径,建议不要有中文
    MUSICPATH = os.path.join(CurrentPath, '1.mp3')
    # 图片文件路径,建议不要有中文
    IMGPATH = os.path.join(CurrentPath, '1.png')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    主函数

    def main():
        pygame.init()
        screen = pygame.display.set_mode((WIDTH, HEIGHT), 0, 32)
        # 设置窗口显示标题
        pygame.display.set_caption('FROM一个喜欢你很久的大帅比,源码领取QQ群:494958217')
    
        clock = pygame.time.Clock()
        # 加载音乐
        pygame.mixer.music.load(MUSICPATH)
        # 音乐从头开始播放
        pygame.mixer.music.play(-1, 1)
        # 设置音量
        pygame.mixer.music.set_volume(0.25)
        # 不同意按钮初始位置
        unlike_pos_x = 330
        unlike_pos_y = 250
        # 不同意按钮宽高、颜色
        unlike_pos_width = 100
        unlike_pos_height = 50
        unlike_color = (182, 194, 154)
        # 同意按钮初始位置
        like_pos_x = 180
        like_pos_y = 250
        # 同意按钮宽高、颜色
        like_pos_width = 100
        like_pos_height = 50
        like_color = (255, 192, 203)
        # 设置循环标记为True
        running = True
        # 死循环
        while running:
            # 设置背景颜色
            screen.fill(BACKGROUND)
            # 加载图片
            img = pygame.image.load(IMGPATH)
            imgRect = img.get_rect()
            imgRect.midtop = int(WIDTH/1.3), HEIGHT//7
            screen.blit(img, imgRect)
            for event in pygame.event.get():
                if event.type == pygame.MOUSEBUTTONDOWN:
                    # 获取鼠标位置
                    mouse_pos = pygame.mouse.get_pos()
                    # 当鼠标的位置的宽高在 同意按钮 的范围之内,设置循环标记为False
                    if mouse_pos[0] < like_pos_x+like_pos_width+5 and mouse_pos[0] > like_pos_x-5 and\
                        mouse_pos[1] < like_pos_y+like_pos_height+5 and mouse_pos[1] > like_pos_y-5:
                        like_color = BACKGROUND
                        running = False
            # 获取鼠标位置
            mouse_pos = pygame.mouse.get_pos()
            # 当鼠标的位置的宽高在 不同意按钮 的范围之内,随机生成不同意按钮的位置
            if mouse_pos[0] < unlike_pos_x+unlike_pos_width+5 and mouse_pos[0] > unlike_pos_x-5 and\
                mouse_pos[1] < unlike_pos_y+unlike_pos_height+5 and mouse_pos[1] > unlike_pos_y-5:
                while True:
                    unlike_pos_x, unlike_pos_y = get_random_pos()
                    # 检测鼠标,如果还是想点击不同意,继续回到此循环,让不同意按钮到处跑
                    if mouse_pos[0] < unlike_pos_x+unlike_pos_width+5 and mouse_pos[0] > unlike_pos_x-5 and\
                        mouse_pos[1] < unlike_pos_y+unlike_pos_height+5 and mouse_pos[1] > unlike_pos_y-5:
                        continue
                    # 如果鼠标不进入不同意按钮的范围内,跳出本次循环,暂时让不同意按钮待在那里
                    break
            # 设置窗口内显示的话语,及其显示的位置
            title('女神,我观察你很久了', screen, scale=[3, 8])
            title('做我女朋友好不好呀', screen, scale=[3, 4])
            # 设置 同意按钮 与 不同意按钮
            button('好呀', like_pos_x, like_pos_y, like_pos_width, like_pos_height, like_color, screen)
            button('算了吧', unlike_pos_x, unlike_pos_y, unlike_pos_width, unlike_pos_height, unlike_color, screen)
            # 把刚才设置的内容更新到窗口去
            pygame.display.flip()
            pygame.display.update()
            clock.tick(60)
        # 如果对象折服了,就显示下面的文字
        show_like_interface('我就知道女神你也喜欢我 我相信绝对不是强迫的!', screen, color=(255, 0, 0))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72

    总体情况是这样的,代码的话是部分代码展示给大家看了,有啥问题都可以找到小编解决哟!!!

  • 相关阅读:
    下载JDK8 JVM源码
    【软件工程之美 - 专栏笔记】“一问一答”第3期 | 18个软件开发常见问题解决策略
    快速安装redis各种版本
    力扣随笔之移除元素(简单27)
    管理文件系统
    中国铂合金行业发展趋势及投资风险研究报告
    【Linux】拓展:运维面试题,进程管理常见的7大问题
    单例模式分享
    【Selenium2+python】自动化unittest生成测试报告
    汇编语言实验7:子程序结构设计
  • 原文地址:https://blog.csdn.net/Gtieguo/article/details/126161413