誰說程式不會告白?看神級程式設計師用Python怎麼製作熱門告白軟體!
阿新 • • 發佈:2018-12-26
之前在抖音上看到了一個很火的小視訊,視訊上是一個很有意思的軟體,怎麼個有意思法呢?就是執行後問你是不是願意做我的女朋友,但你沒法點選到「不同意」!並且沒辦法直接關閉視窗!
這就很不正經,很流氓,很適合悶騷的我。
軟體的效果大概是這樣的:
所以我打算來做個高仿版的
實現思路
首先我想到的就是 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
程式碼看著有點亂,但其實就是上圖的公式。
實現效果
最終實現效果:
以上就是本文的思路和操作流程,喜歡本文的小夥伴或者覺得本文對你有幫助可以點播關注或轉發。
最後
小編精心推薦一個學習Python的好去處,如果有想學Python的,或者想與小編交流的小夥伴可以小編QQ2789278246!
本文來自網路,如有侵權,請聯絡小編刪除!