用Python给女神表白

情人节刚刚过去,但男同胞们对女神的暗恋愈加热烈,想尽一切办法表白,今天,咱们就用Python制作一个表白神器。

程序介绍

运用pygame制作一个小游戏,当女神用鼠标点击“滚蛋”按钮时,按钮好像脱缰的野马似的,到处乱飞,丝毫让你抓不住它,无奈之下只能点击“好呀”按钮。

程序实现

(1)导包:运用pygame库

import sys
import random
import pygame
from pygame.locals import *

(2)定义界面

将界面的宽和高和背景颜色

WIDTH, HEIGHT = 640, 480
BACKGROUND = (100, 191, 255)

(3)设置按钮

定义一个函数、位置,还有字体(运用电脑中自带的字体C:/Windows/Fonts/simkai.ttf)

def button(text, x, y, w, h, color, screen):pygame.draw.rect(screen, color, (x, y, w, h))font = pygame.font.Font('C:/Windows/Fonts/simkai.ttf', 20)textRender = font.render(text, True, (0, 0, 0))textRect = textRender.get_rect()textRect.center = ((x+w/2), (y+h/2)) screen.blit(textRender, textRect)

(4)设置标题

设置字体的样式还是采用如上步相同的字体

def title(text, screen, scale, color=( 255,0,255)):font = pygame.font.Font('C:/Windows/Fonts/simkai.ttf', WIDTH//(len(text)*2))textRender = font.render(text, True, color)textRect = textRender.get_rect()textRect.midtop = (WIDTH/scale[0], HEIGHT/scale[1])screen.blit(textRender, textRect)

(5)生成随机的位置坐标

设置“滚蛋”按钮在x和y方向随意跳转,

def get_random_pos():x, y = random.randint(20, 620), random.randint(20, 460)return x, y

(6)点击按钮选项

def show_like_interface(text, screen, color=(     255,0,255)):screen.fill(BACKGROUND)font = pygame.font.Font('C:/Windows/Fonts/simkai.ttf', WIDTH//(len(text)))textRender = font.render(text, True, color)textRect = textRender.get_rect()textRect.midtop = (WIDTH/2, HEIGHT/2)screen.blit(textRender, textRect)pygame.display.update()while True:for event in pygame.event.get():if event.type == QUIT:pygame.quit()sys.exit()

(7)设置主函数

设置了界面的标题,导入mp3格式的背景音乐

def main():pygame.init()screen = pygame.display.set_mode((WIDTH, HEIGHT), 0, 32)pygame.display.set_caption('帅气的WWJ')clock = pygame.time.Clock()pygame.mixer.music.load('D:/Backup/桌面/半阳.mp3')pygame.mixer.music.play(-1, 30.0)pygame.mixer.music.set_volume(0.25)unlike_pos_x = 330unlike_pos_y = 300unlike_pos_width = 100unlike_pos_height = 50like_pos_x = 180like_pos_y = 300like_pos_width = 100like_pos_height = 50running = Truelike_color = (255,192,203)

(8)设置界面文字,选项按钮,并且导入背景图片,

while running:screen.fill(BACKGROUND)img = pygame.image.load("D:/Backup/桌面/455.png")imgRect = img.get_rect()imgRect.midtop = WIDTH//2, HEIGHT//4screen.blit(img, imgRect)for event in pygame.event.get():if event.type == pygame.MOUSEBUTTONDOWN:mouse_pos = pygame.mouse.get_pos()if mouse_pos[0] < like_pos_x+like_pos_width+5 and mouse_pos[0] > like_pos_x-5 andmouse_pos[1] < like_pos_y+like_pos_height+5 and mouse_pos[1] > like_pos_y-5:like_color = BACKGROUNDrunning = Falsemouse_pos = pygame.mouse.get_pos()if mouse_pos[0] < unlike_pos_x+unlike_pos_width+5 and mouse_pos[0] > unlike_pos_x-5 andmouse_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 andmouse_pos[1] < unlike_pos_y+unlike_pos_height+5 and mouse_pos[1] > unlike_pos_y-5:continuebreaktitle('小姐姐,我暗恋你很久了', screen, scale=[2, 10])title('做我女朋友好不好呀', screen, scale=[2, 6])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, (255,215,0), screen)pygame.display.flip()pygame.display.update()clock.tick(60)show_like_interface('^V^我就知道小姐姐你也喜欢我^@^', screen, color=(255,0,255))
if __name__ == '__main__':main()

运行结果

python写一个表白程序_用Python个女神做一个表白神器相关推荐

  1. 如何用python写查询名字程序_用Python写个迷你出门问问|10几行代码搞定

    上一篇讲了JSON文件的用法,小伙伴们感觉好像写的很不过瘾,后台有好几个小伙伴问我能不能再写一篇,其中还有两个小伙伴给我留言,问我什么是Web Api,好今天我会解释一下,同时利用百度开放的API写一 ...

  2. python写个围棋程序_经典python实战项目blog源码学习

    这是廖雪峰老师实际项目的源码, python知识学得再多,都不如实战用一回. Day 1 – 搭建开发环境 Day 2 – 编写Web App骨架 Day 3 – 编写ORM Day 4 – 编写Mo ...

  3. python写一个表白程序_用Python写一个能算出自己年龄的小程序

    用Python写一个能算出自己年龄的小程序. 其实我连我今年多少岁都不知道,最近看到了python的datetime库里面有很多好用的方法,于是就写了这样一个程序作为练习,然后又写了这样一篇文章来梳理 ...

  4. python用一行代码编写一个回声程序_利用Python实现一个WC程序

    项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数 ...

  5. 学完python写不出程序_我又不当程序员,为什么要学Python编程?

    记得刚毕业时,所受的第一场职场教育便是: 职场如战场,战场上只论功劳,不论苦劳. 回想起那时,无数个夜晚披星戴月加班加点,却常常被狠批在做无用功,迷茫与崩溃说来就来,甚至会觉得 " 越努力越 ...

  6. python用一行代码编写一个回声程序_一行python代码实现树结构

    树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...

  7. python 搭建web应用程序_用Python构建数据科学Web应用程序

    作者|Chanin Nantasenamat 编译|VK 来源|Towards Data Science 在本文中,我将向你展示如何使用streamlit python库快速构建一个简单的数据驱动we ...

  8. python代码变成运行程序_用Python脚本转换成windows的可执行程序

    下载并运行与你所安装的Python对应的py2exe版本的 installer,这将安装py2exe和相应的例子:这些例子被安装在lib\site-packages\py2exe\samples目录下 ...

  9. python写游戏棋牌游戏_使用python实现简单五子棋游戏

    使用python实现简单五子棋游戏 发布时间:2020-08-29 06:12:30 来源:脚本之家 阅读:73 作者:weixin_42874933 用python实现五子棋简单人机模式的练习过程, ...

  10. python语音控制电脑程序_用Python编程实现语音控制电脑_天津SEO

    天津SEO 电脑面前的你,是否也希望能让电脑听命于你? 当你累的时候,只需说一声"我累了",电脑就会放着优雅的轻音乐来让你放松. 或许你希望你在百忙之中,能让电脑郎读最新的NBA比 ...

最新文章

  1. 和12岁小同志搞创客开发:如何选择合适的控制器?
  2. dl,dt,dd,ul,li,ol区别
  3. 干货 | 算法工程师入门第二期——穆黎森讲增强学习(一) 本文作者:大牛讲堂 编辑:刘芳平 2017-07-19 11:38 导语:地平线大牛讲堂算法工程师入门第二期来啦!本期地平线资深算法工程师、增
  4. PolarMask:单阶段实例分割框架,FCOS进阶!
  5. SpringMVC接收json数组对象
  6. Windows与Linux的主要区别
  7. 怎样用Java自制优秀的图片验证码?这样!
  8. UESTC_秋实大哥下棋 2015 UESTC Training for Data StructuresProblem I
  9. 4.2 算法之数论 9274 beeline(python)
  10. python import _ssl_Python 3没有名为’_ssl’的模块
  11. 芝麻HTTP:TensorFlow LSTM MNIST分类
  12. activemq下载安装(windows版)与实例创建,JMS模型介绍
  13. 索尼Xperia XZ1 Compact刷机,解锁BL,刷Twrp Recovery和Root教程
  14. matlab 怎么画时域图,matlab画e时域波形图
  15. 解读全新闪存FlashSystem 9100
  16. 【调试工具】【tc】Linux流量控制原理【转】
  17. tensor如何实现转置_转置()TensorFlow中的函数
  18. 激光SLAM 前端数据预处理--剔除坏点方法总结
  19. 搭建MYSQL的mmm架构出现 master/AWAITING_RECOVERY. Roles报错
  20. IE 浏览器证书错误常见问题解答

热门文章

  1. 苹果因不带充电器被罚款200万美元;杨笠代言英特尔被抵制,品牌方连夜下架;Linux考虑加入对Rust的支持 | 极客头条...
  2. COSCon'20 Apache Roadshow- China 精彩收官 | 数据篇
  3. Python 炫技操作:条件语句的七种写法
  4. 小米回应设备被谷歌禁用;苹果中国宣布 2019 款 iPad 降价;Wine 5.0-rc4 发布 | 极客头条...
  5. 十年后,每天 24 小时离不开传感技术
  6. ​京东云:原来落地 AI 应用是这么回事儿!
  7. 苹果 5G 芯片“难产”!
  8. 晋升工程经理几个月后,我选择退回编程岗位的起点
  9. WinRAR 曝 19 年前重大漏洞,可完全控制电脑!| 附解决方法
  10. 燃爆了!胡歌秒变最帅产品经理发布荣耀V20!