1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python制作表白神器_用Python个女神做一个表白神器

python制作表白神器_用Python个女神做一个表白神器

时间:2019-03-15 04:32:38

相关推荐

python制作表白神器_用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))

if __name__ == '__main__':

main()

运行结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。