用Python个女神做一个表白神器

用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 = 330
	unlike_pos_y = 300
	unlike_pos_width = 100
	unlike_pos_height = 50
	like_pos_x = 180
	like_pos_y = 300
	like_pos_width = 100
	like_pos_height = 50
	running = True
	like_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//4
		screen.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 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=[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))

(9)

if __name__ == '__main__':
	main()

运行结果

在这里插入图片描述在这里插入图片描述

点击视频

width=200 height=186 type=audio/mpeg loop="false" autostart="false">
  • 18
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值