1. 程式人生 > >誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

 

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

這就很不正經,很流氓,很適合悶騷的我。

軟體的效果大概是這樣的:

 

誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

 

 

所以我打算來做個高仿版的

實現思路

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

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

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

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

誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

 

主要實現邏輯

實現流程大致如下:

誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

 

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

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

誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

 

程式碼實現也很簡單:

# 生成隨機的位置座標
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

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

實現效果

最終實現效果:

 

誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!

 

 

以上就是本文的思路和操作流程,喜歡本文的小夥伴或者覺得本文對你有幫助可以點播關注或轉發。

最後

小編精心推薦一個學習Python的好去處,如果有想學Python的,或者想與小編交流的小夥伴可以小編QQ2789278246!

本文來自網路,如有侵權,請聯絡小編刪除!