程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python代碼】情人節到了,表白代碼肯定是少不了的啦

編輯: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')

主函數

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. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved