1. 程式人生 > >教你用 Python 實現抖音熱門表白軟體

教你用 Python 實現抖音熱門表白軟體

之前在群裡看到有人發了一個抖音上很火的小視訊,就是一個不正經的軟體,執行後問你是不是願意做我的朋友,但你沒法點選到「不同意」!並且沒辦法直接關閉視窗!

很不正經,很流氓,有點適合我。

效果大概是這樣的:

流氓!

我要做一個高仿版的!

實現思路

首先我想到的就是 pygame 實現,因為之前很多人都用它「打過飛機」,不對,是做「打飛機」的遊戲,因此多少有些熟悉。

其實思路很簡單,就是探測滑鼠位置,當滑鼠跑到按鈕上面時,隨機改變按鈕的位置。

剩下的就是元件的佈局樣式了!

這裡我在網上找了一個小圖片,放在左方,然後中間位置放置兩行文字,下方放置兩個按鈕,最終佈局如下:

樣式佈局

主要實現邏輯

實現流程大致如下:

實現流程

主要的邏輯就是滑鼠移動到按鈕上時,按鈕的位置進行隨機的變動。

如何判斷滑鼠在按鈕上?看下出自靈魂畫手的示意圖:

判斷滑鼠和按鈕的相對位置

程式碼實現也很簡單:

# 生成隨機的位置座標
def get_random_pos():
    x, y = random.randint(20, WIDTH-20), random.randint(20, HEIGHT-20)
    return x, y

# 獲取滑鼠位置
# 若滑鼠位置位於按鈕區域內
# 則隨機生成按鈕位置進行顯示
mouse_pos = pygame.mouse.get_pos()
if
mouse_pos[0] < unlike_pos_x+unlike_pos_width and mouse_pos[0] > unlike_pos_x and\ mouse_pos[1] < unlike_pos_y+unlike_pos_height and mouse_pos[1] > unlike_pos_y: while True: unlike_pos_x, unlike_pos_y = get_random_pos() if mouse_pos[0] < unlike_pos_x+unlike_pos_width and
mouse_pos[0] > unlike_pos_x and\ mouse_pos[1] < unlike_pos_y+unlike_pos_height and mouse_pos[1] > unlike_pos_y: continue break

看著有點亂,但其實就是上圖的公式。

實現效果

最終實現效果:

實現效果

最後,把我們的程式打包成 exe,當然,需要附上圖片和字型檔案。

不會程式碼打包的可以參考之前的文章:

1、 使用 PyInstaller 打包 Python 程式
2、 使用 py2exe 打包 Python 程式

程式和最終的 exe 檔案,關注下方公眾號,回覆【表白】即可獲取。

另外,據說 tkinter 也能實現,改天研究下~


你的關注是對我最大的鼓勵!

最近蒐集到傳智播客 2018 最新 Python 和 Java 教程!關注本公眾號,後臺回覆「2018」即可獲取下載地址。

公眾號提供CSDN資源免費下載服務!