用Python给女神表白
情人节刚刚过去,但男同胞们对女神的暗恋愈加热烈,想尽一切办法表白,今天,咱们就用Python制作一个表白神器。
程序介绍
运用pygame制作一个小游戏,当女神用鼠标点击“滚蛋”按钮时,按钮好像脱缰的野马似的,到处乱飞,丝毫让你抓不住它,无奈之下只能点击“好呀”按钮。
程序实现
(1)导包:运用pygame库
import sysimport randomimport pygamefrom pygame.locals import *
(2)定义界面
将界面的宽和高和背景颜色
WIDTH, HEIGHT = 640, 480BACKGROUND = (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个女神做一个表白神器》对你有帮助,请点赞、收藏,并留下你的观点哦!