摘要:最近照著編程從入門到實踐這本書上的內容,開發了第一個完整的項目。之前都是用寫一些腳本什么的,這是第一次開發一個完整的項目,現將在開發過程中的一些心得總結如下。
最近照著《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項目過程中的心得體會。
筆者拙見,僅供參考。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45081.html
摘要:摘要北京云棲大會上阿里云發布了最新的功能,萬眾期待的功能終于支持啦,我怎么能不一試為快,今天就分享如何通過進行開發。注冊函數在腳本中編輯試用好了,一個簡單完整的通過開發實踐分享完成。 摘要: 2017/12/20 北京云棲大會上阿里云MaxCompute發布了最新的功能Python UDF,萬眾期待的功能終于支持啦,我怎么能不一試為快,今天就分享如何通過Studio進行Python u...
摘要:架構團隊的人是不是很輕松,業務團隊天天加班搞項目,架構團隊貌似都是在喝茶聊天研究一些不實用的東西。架構團隊的架構師最好是在業務團隊深耕過,知道痛點所在的,這樣研發出來的系統和工具能夠和公司目前的項目所匹配發揮最大的作用,讓大家愛不釋手。 最近幾年寫博客確實寫得少了,初出茅廬的時候什么都愿意去寫,現在寫一點東西之前會反復斟酌是否有價值。工作十幾年了,做了N多個互聯網系統,業務涉及教育、游...
摘要:架構團隊的人是不是很輕松,業務團隊天天加班搞項目,架構團隊貌似都是在喝茶聊天研究一些不實用的東西。架構團隊的架構師最好是在業務團隊深耕過,知道痛點所在的,這樣研發出來的系統和工具能夠和公司目前的項目所匹配發揮最大的作用,讓大家愛不釋手。 最近幾年寫博客確實寫得少了,初出茅廬的時候什么都愿意去寫,現在寫一點東西之前會反復斟酌是否有價值。工作十幾年了,做了N多個互聯網系統,業務涉及教育、游...
摘要:在指定位置刪除并返回這個數據項,注意這里是有返回項的。移除某一個特定數據項。第二章發布并上傳代碼到在查閱大量資料發布和上傳還有很多附屬文件需要編寫和上傳以確保模塊能夠正常發布和更新。包含函數串鏈,特點是中包含函數。 寫在前面:吾嘗終日而思矣,不如須臾之所學也;吾嘗跂而望矣,不如登高之博見也。登高而招,臂非加長也,而見者遠;順風而呼,聲非加疾也,而聞者彰。假輿馬者,非利足也,而致千里;假...
摘要:的主要功能包括拼寫檢查,書簽,完整的,功能,即時項目切換,多選擇,多窗口等等。目前,是最受歡迎的前端開發工具之一。缺點是一款收費軟件,不過可以無限期使用。注意在安裝時勾選,這樣在右鍵單擊文件時就可以直接使用打開。 Sublime text 簡介 Sublime text具有漂亮的用戶界面和強大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。Subl...
閱讀 1664·2021-09-28 09:35
閱讀 1136·2019-08-30 15:54
閱讀 1661·2019-08-30 15:44
閱讀 3367·2019-08-30 14:09
閱讀 494·2019-08-29 14:05
閱讀 2665·2019-08-28 17:53
閱讀 1987·2019-08-26 13:41
閱讀 1716·2019-08-26 13:26