成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于開發(fā)Python項(xiàng)目的心得總結(jié)

zhoutao / 2616人閱讀

摘要:最近照著編程從入門到實(shí)踐這本書上的內(nèi)容,開發(fā)了第一個(gè)完整的項(xiàng)目。之前都是用寫一些腳本什么的,這是第一次開發(fā)一個(gè)完整的項(xiàng)目,現(xiàn)將在開發(fā)過程中的一些心得總結(jié)如下。

最近照著《Python編程從入門到實(shí)踐》這本書上的內(nèi)容,開發(fā)了第一個(gè)完整的Python項(xiàng)目。之前都是用Python寫一些腳本什么的,這是第一次開發(fā)一個(gè)完整的項(xiàng)目,現(xiàn)將在開發(fā)過程中的一些心得總結(jié)如下。

這個(gè)Python項(xiàng)目是一個(gè)小游戲,名叫《外星人入侵》,就是移動(dòng)飛船并射擊來擊殺外星人的游戲。項(xiàng)目依賴的基礎(chǔ)的庫是pygame,這是一個(gè)可以很方便的用于開發(fā)游戲的庫,提供很多游戲界面,游戲元素顯示的函數(shù),讓開發(fā)者專注于考慮游戲的邏輯,而降低了在游戲界面上開發(fā)的難度。

首先講一下這個(gè)游戲的主體架構(gòu):第一個(gè)就是主程序alien_invasion,這個(gè)程序就是整個(gè)游戲的啟動(dòng)程序,在這個(gè)程序中,要初始化各種設(shè)置,還有創(chuàng)建各種對象實(shí)例,然后就是游戲的主循環(huán),主循環(huán)的任務(wù)就是不斷響應(yīng)用戶輸入(鍵盤事件和鼠標(biāo)事件),從而在游戲中做出各種動(dòng)作和改變,不斷刷新游戲畫面。第二就是函數(shù)文件game_functions,這個(gè)文件包含了這個(gè)游戲運(yùn)行所需的所有的函數(shù),(當(dāng)然是除了那些類中自帶的處理函數(shù)嘍)。第三個(gè)就是設(shè)置文件settings,包含了這個(gè)游戲的所有配置信息(設(shè)置信息),創(chuàng)建了一個(gè)Settings類,這個(gè)類就是用于包含所有的游戲相關(guān)的設(shè)置變量,比如游戲的屏幕設(shè)置(長寬,背景顏色),子彈的設(shè)置(子彈的長寬和顏色),飛船的設(shè)置等等。接下來就是各種游戲中的元素所對應(yīng)的類了,比如Alien,Bullet, Ship分別代表游戲中的外星人,子彈,飛船。這三個(gè)類構(gòu)成了游戲的主要的元素。當(dāng)然還有就是為了提高游戲的用戶體驗(yàn)而新增的一些功能,比如游戲的開始按鈕Button,還有游戲的計(jì)分板Scoreboard。

                                  [友情鏈接查詢][1]

然后講一下主要的開發(fā)過程,首先是再游戲的主程序中,完成響應(yīng)用戶輸入的功能,測試方法就是使用pygame提供的函數(shù)處理QUIT消息(即點(diǎn)擊游戲右上角的關(guān)閉按鈕),然后就是將處理函數(shù)放置到game_functions中,盡量簡化主程序的結(jié)構(gòu),讓主程序主要就是調(diào)用各種函數(shù)來完成各種各功能,而不要將大量的功能集中到程序的主循環(huán)中,這樣既不便于開發(fā),也不容易維護(hù),同時(shí)也要開始游戲的設(shè)置,一開始只是設(shè)置游戲窗口的大小和背景的顏色。完這些最簡單的初步工作后,就要開始著手Ship類的開發(fā),確定Ship類的創(chuàng)建,大小,還有如何移動(dòng),當(dāng)然涉及移動(dòng)那就又要修改處理消息的函數(shù)了,當(dāng)處理消息的函數(shù)變得很龐大時(shí),就要開始著手重構(gòu)函數(shù),盡量保持一個(gè)函數(shù)完成一個(gè)功能的原則,當(dāng)出現(xiàn)多個(gè)功能時(shí),就要考慮使用多個(gè)函數(shù)來完成,這樣代碼便于維護(hù),同時(shí)也可以很好的做到代碼重用,提高開發(fā)效率。之后就要開始Bullet類的編寫,同樣首先是Bullet的創(chuàng)建,這個(gè)類除了要響應(yīng)用戶的輸入,就是按下空格就會(huì)發(fā)射子彈,還有就是如何管理多個(gè)同時(shí)存在的Bullet,這里引入了pygame的Group編組進(jìn)行管理,大大提高了效率,之后當(dāng)然還要處理子彈飛出游戲窗口的處理,長時(shí)間按住空格鍵的處理。之后就要開始Alien類的編寫,Alien類主要的工作就是Alien在游戲窗口中的分布還有和飛船碰撞,到達(dá)游戲窗口底部,和子彈碰撞時(shí)的處理,同樣也是需要使用Group進(jìn)行統(tǒng)一的編組管理。完成游戲的主體元素的開發(fā)后,主要的任務(wù)就是在于提高游戲體驗(yàn),需要設(shè)計(jì)一個(gè)Play按鈕,需要顯示玩家的得分,最高分,還有等級等信息,完成這些功能的開發(fā)后,那這個(gè)游戲就基本完成了。

開發(fā)過程中的心得:

1.開發(fā)步驟:就是完成項(xiàng)目主體的搭建,然后完成主體元素(主要部件,主要功能)的開發(fā),最后就是功能的完善和增強(qiáng)用戶體驗(yàn)的設(shè)計(jì)

2.一定要記得代碼的重構(gòu),一邊開發(fā),一邊要思考,是否一個(gè)函數(shù)從的功能過于冗余,如果是,那就要考慮重構(gòu)函數(shù),重構(gòu)的確需要花費(fèi)一定的時(shí)間,但是可以為以后的開發(fā)帶來更大的方便

3.開發(fā)過程的文檔編寫也很重要,要注意為每一個(gè)函數(shù)編寫網(wǎng)上的功能描述,這樣為之后的代碼修改和維護(hù)帶來巨大的方便

4.對于項(xiàng)目架構(gòu)的思考:一個(gè)項(xiàng)目主要的組成方式就是主程序+配置(設(shè)置)文件+功能函數(shù)文件+項(xiàng)目所需的各種對象,關(guān)于對象如何確定就需要根據(jù)項(xiàng)目的具體需求來確定了

5.一個(gè)項(xiàng)目開發(fā)完成要記得去思考:這次開發(fā)有什么經(jīng)驗(yàn)和教訓(xùn),好的方面和不好的方面?還有什么改進(jìn)?專注于用戶體驗(yàn)的思考?

這些就是我對于在開發(fā)第一個(gè)Python項(xiàng)目過程中的心得體會(huì)。

筆者拙見,僅供參考。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/45081.html

相關(guān)文章

  • MaxCompute Studio使用心得系列6——一個(gè)工具完成整個(gè)Python UDF開發(fā)

    摘要:摘要北京云棲大會(huì)上阿里云發(fā)布了最新的功能,萬眾期待的功能終于支持啦,我怎么能不一試為快,今天就分享如何通過進(jìn)行開發(fā)。注冊函數(shù)在腳本中編輯試用好了,一個(gè)簡單完整的通過開發(fā)實(shí)踐分享完成。 摘要: 2017/12/20 北京云棲大會(huì)上阿里云MaxCompute發(fā)布了最新的功能Python UDF,萬眾期待的功能終于支持啦,我怎么能不一試為快,今天就分享如何通過Studio進(jìn)行Python u...

    張遷 評論0 收藏0
  • 朱曄互聯(lián)網(wǎng)架構(gòu)實(shí)踐心得S1E1:Pilot

    摘要:架構(gòu)團(tuán)隊(duì)的人是不是很輕松,業(yè)務(wù)團(tuán)隊(duì)天天加班搞項(xiàng)目,架構(gòu)團(tuán)隊(duì)貌似都是在喝茶聊天研究一些不實(shí)用的東西。架構(gòu)團(tuán)隊(duì)的架構(gòu)師最好是在業(yè)務(wù)團(tuán)隊(duì)深耕過,知道痛點(diǎn)所在的,這樣研發(fā)出來的系統(tǒng)和工具能夠和公司目前的項(xiàng)目所匹配發(fā)揮最大的作用,讓大家愛不釋手。 最近幾年寫博客確實(shí)寫得少了,初出茅廬的時(shí)候什么都愿意去寫,現(xiàn)在寫一點(diǎn)東西之前會(huì)反復(fù)斟酌是否有價(jià)值。工作十幾年了,做了N多個(gè)互聯(lián)網(wǎng)系統(tǒng),業(yè)務(wù)涉及教育、游...

    CoderBear 評論0 收藏0
  • 朱曄互聯(lián)網(wǎng)架構(gòu)實(shí)踐心得S1E1:Pilot

    摘要:架構(gòu)團(tuán)隊(duì)的人是不是很輕松,業(yè)務(wù)團(tuán)隊(duì)天天加班搞項(xiàng)目,架構(gòu)團(tuán)隊(duì)貌似都是在喝茶聊天研究一些不實(shí)用的東西。架構(gòu)團(tuán)隊(duì)的架構(gòu)師最好是在業(yè)務(wù)團(tuán)隊(duì)深耕過,知道痛點(diǎn)所在的,這樣研發(fā)出來的系統(tǒng)和工具能夠和公司目前的項(xiàng)目所匹配發(fā)揮最大的作用,讓大家愛不釋手。 最近幾年寫博客確實(shí)寫得少了,初出茅廬的時(shí)候什么都愿意去寫,現(xiàn)在寫一點(diǎn)東西之前會(huì)反復(fù)斟酌是否有價(jià)值。工作十幾年了,做了N多個(gè)互聯(lián)網(wǎng)系統(tǒng),業(yè)務(wù)涉及教育、游...

    rose 評論0 收藏0
  • Head First Python 學(xué)習(xí)心得(1-6章)

    摘要:在指定位置刪除并返回這個(gè)數(shù)據(jù)項(xiàng),注意這里是有返回項(xiàng)的。移除某一個(gè)特定數(shù)據(jù)項(xiàng)。第二章發(fā)布并上傳代碼到在查閱大量資料發(fā)布和上傳還有很多附屬文件需要編寫和上傳以確保模塊能夠正常發(fā)布和更新。包含函數(shù)串鏈,特點(diǎn)是中包含函數(shù)。 寫在前面:吾嘗終日而思矣,不如須臾之所學(xué)也;吾嘗跂而望矣,不如登高之博見也。登高而招,臂非加長也,而見者遠(yuǎn);順風(fēng)而呼,聲非加疾也,而聞?wù)哒?。假輿馬者,非利足也,而致千里;假...

    pumpkin9 評論0 收藏0
  • 工欲善其事,必先利其器 _SUBLIME TEXT 3_使用心得(上篇)

    摘要:的主要功能包括拼寫檢查,書簽,完整的,功能,即時(shí)項(xiàng)目切換,多選擇,多窗口等等。目前,是最受歡迎的前端開發(fā)工具之一。缺點(diǎn)是一款收費(fèi)軟件,不過可以無限期使用。注意在安裝時(shí)勾選,這樣在右鍵單擊文件時(shí)就可以直接使用打開。 Sublime text 簡介 Sublime text具有漂亮的用戶界面和強(qiáng)大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。Subl...

    Michael_Ding 評論0 收藏0

發(fā)表評論

0條評論

zhoutao

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<