情人節到了,那麼等著表白的兄弟,你們怎麼樣啦!!
今天帶大家用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))
總體情況是這樣的,代碼的話是部分代碼展示給大家看了,有啥問題都可以找到小編解決喲!!!
Visual Studio Code Its a power
Its in the computer python2.7、