照著online tutorial刻了一個基本的遊戲

2020/06/07閱讀時間約 1 分鐘
pygame: space_invader

前言

Youtube上逛著逛著看到techwithtim的線上教學,這是一個pygame的模組練習,只是我想了解深入一點的是物件導向的寫法應用。影片大約兩小時,實際邊動手coding,一邊看著影片的講解,結果花在這上面的時間遠遠超過我的預期。當然,看別人都好像很簡單,自己寫起來總是卡東卡西,下面分別說明一下這支程式的組成吧!

問題拆解

匯入圖檔

將事先準備好的圖片資源,用pygame的語法把圖片讀取進來,包含飛船及背景。

物件控制

採用物件導向的思維去做規劃,例如:
玩家的飛船與敵方的飛船都是飛船,因此建立一個飛船的class,寫好飛船所該有的基本屬性(生命值、發射雷射、移動...),再讓玩家飛船敵方飛船去繼承飛船的class,依照個別飛船獨有的特性再另作設計。

碰撞偵測

這部份對於遊戲開發有興趣在另行深入研究。

包裝展示

  • 呈現血條
  • 開始頁面
  • 剩餘生命數
  • 遊戲難度等級

小結

以前寫程式多拿來多數據分析,用的多是照著script順序完成就好,頂多寫幾個function減少重複性操作,不像開發軟體時的思維方向。作為物件導向寫法的練習,我認為從寫個小遊戲下手是個不錯的方向,一方面完成時比較有成就感,一方面是當物件、人物、參與的對象越來越多時,不得不考慮以物件化的方式去思考,也才會明白在開始著手前規劃好各個class之間的關聯性。
10會員
54內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
發表第一個留言支持創作者!