python專案開發例項書-關於開發Python專案的心得總結
最近照著《Python程式設計從入門到實踐》這本書上的內容,開發了第一個完整的Python專案。之前都是用Python寫一些指令碼什麼的,這是第一次開發一個完整的專案,現將在開發過程中的一些心得總結如下。
這個Python專案是一個小遊戲,名叫《外星人入侵》,就是移動飛船並射擊來擊殺外星人的遊戲。專案依賴的基礎的庫是pygame,這是一個可以很方便的用於開發遊戲的庫,提供很多遊戲介面,遊戲元素顯示的函式,讓開發者專注於考慮遊戲的邏輯,而降低了在遊戲介面上開發的難度。
首先講一下這個遊戲的主體架構:第一個就是主程式alien_invasion,這個程式就是整個遊戲的啟動程式,在這個程式中,要初始化各種設定,還有建立各種物件例項,然後就是遊戲的主迴圈,主迴圈的任務就是不斷響應使用者輸入(鍵盤事件和滑鼠事件),從而在遊戲中做出各種動作和改變,不斷重新整理遊戲畫面。第二就是函式檔案game_functions,這個檔案包含了這個遊戲執行所需的所有的函式,(當然是除了那些類中自帶的處理函式嘍)。第三個就是設定檔案settings,包含了這個遊戲的所有配置資訊(設定資訊),建立了一個Settings類,這個類就是用於包含所有的遊戲相關的設定變數,比如遊戲的螢幕設定(長寬,背景顏色),子彈的設定(子彈的長寬和顏色),飛船的設定等等。接下來就是各種遊戲中的元素所對應的類了,比如Alien,Bullet, Ship分別代表遊戲中的外星人,子彈,飛船。這三個類構成了遊戲的主要的元素。當然還有就是為了提高遊戲的使用者體驗而新增的一些功能,比如遊戲的開始按鈕Button,還有遊戲的計分板Scoreboard。
[友情連結查詢][1]
然後講一下主要的開發過程,首先是再遊戲的主程式中,完成響應使用者輸入的功能,測試方法就是使用pygame提供的函式處理QUIT訊息(即點選遊戲右上角的關閉按鈕),然後就是將處理函式放置到game_functions中,儘量簡化主程式的結構,讓主程式主要就是呼叫各種函式來完成各種各功能,而不要將大量的功能集中到程式的主迴圈中,這樣既不便於開發,也不容易維護,同時也要開始遊戲的設定,一開始只是設定遊戲視窗的大小和背景的顏色。完這些最簡單的初步工作後,就要開始著手Ship類的開發,確定Ship類的建立,大小,還有如何移動,當然涉及移動那就又要修改處理訊息的函式了,當處理訊息的函式變得很龐大時,就要開始著手重構函式,儘量保持一個函式完成一個功能的原則,當出現多個功能時,就要考慮使用多個函式來完成,這樣程式碼便於維護,同時也可以很好的做到程式碼重用,提高開發效率。之後就要開始Bullet類的編寫,同樣首先是Bullet的建立,這個類除了要響應使用者的輸入,就是按下空格就會發射子彈,還有就是如何管理多個同時存在的Bullet,這裡引入了pygame的Group編組進行管理,大大提高了效率,之後當然還要處理子彈飛出遊戲視窗的處理,長時間按住空格鍵的處理。之後就要開始Alien類的編寫,Alien類主要的工作就是Alien在遊戲視窗中的分佈還有和飛船碰撞,到達遊戲視窗底部,和子彈碰撞時的處理,同樣也是需要使用Group進行統一的編組管理。完成遊戲的主體元素的開發後,主要的任務就是在於提高遊戲體驗,需要設計一個Play按鈕,需要顯示玩家的得分,最高分,還有等級等資訊,完成這些功能的開發後,那這個遊戲就基本完成了。
開發過程中的心得:
1.開發步驟:就是完成專案主體的搭建,然後完成主體元素(主要部件,主要功能)的開發,最後就是功能的完善和增強使用者體驗的設計
2.一定要記得程式碼的重構,一邊開發,一邊要思考,是否一個函式從的功能過於冗餘,如果是,那就要考慮重構函式,重構的確需要花費一定的時間,但是可以為以後的開發帶來更大的方便
3.開發過程的文件編寫也很重要,要注意為每一個函式編寫網上的功能描述,這樣為之後的程式碼修改和維護帶來巨大的方便
4.對於專案架構的思考:一個專案主要的組成方式就是主程式+配置(設定)檔案+功能函式檔案+專案所需的各種物件,關於物件如何確定就需要根據專案的具體需求來確定了
5.一個專案開發完成要記得去思考:這次開發有什麼經驗和教訓,好的方面和不好的方面?還有什麼改進?專注於使用者體驗的思考?
這些就是我對於在開發第一個Python專案過程中的心得體會。
筆者拙見,僅供參考。
相關文章
- 關於開發Python專案的心得總結!Python
- python專案開發例項-Python專案案例開發從入門到實戰——爬蟲、遊戲Python爬蟲遊戲
- python專案開發Python
- python開發本地WEB專案PythonWeb
- python專案開發視訊Python
- Python 專案開發小技巧Python
- 完整的python專案例項-Python例項練手專案彙總(附原始碼)Python原始碼
- 關於專案提案書/競標書的心得
- python大型專案應用例項,最全python專案開發案例,吃透這些知識,小白也能變大牛...Python
- Python專案實戰例項Python
- 實習專案開發總結
- python開發例項-python開發案例Python
- 《python專案開發案例集錦》讀書筆記Python筆記
- python專案開發部分步驟Python
- 淺談Python專案開發&管理Python
- python書籍推薦-Python爬蟲開發與專案實戰Python爬蟲
- python爬蟲實操專案_Python爬蟲開發與專案實戰 1.6 小結Python爬蟲
- angualr7專案開發總結
- 完整的python專案例項-《Python爬蟲開發與專案實戰》pdf完整版Python爬蟲
- 一本實踐的專案開發《Python專案開發實戰(第2版)》Python
- Python——個人部落格專案開發Python
- 最新Python開發專案實戰(完整)Python
- Python開發爬蟲專案+程式碼Python爬蟲
- T02 ExtractSubject 專案開發總結
- 完整的python專案例項-python完整專案Python
- python爬蟲例項專案大全-GitHub 上有哪些優秀的 Python 爬蟲專案?Python爬蟲Github
- hadoop專案開發案例舉例Hadoop
- python3 專案開發-中級篇Python
- ThreeJs 3D 全景專案開發總結JS3D
- 記一次小程式專案的開發心得
- Python爬蟲開發與專案實戰pdfPython爬蟲
- Python爬蟲開發與專案實戰(2)Python爬蟲
- Python爬蟲開發與專案實踐(3)Python爬蟲
- Python爬蟲開發與專案實戰(1)Python爬蟲
- IDEA Maven專案開發注意事項IdeaMaven
- Python專案案例開發從入門到實戰 - 書籍資訊Python
- mpvue開發大型體育專案及總結記Vue
- 軟體開發專案文件系列之十五如何撰寫專案結項報告