位置: 編程技術(shù) - 正文
推薦整理分享一步步教你用Python實(shí)現(xiàn)2048小游戲(一步步教你用樂高拼個(gè)摩托車),希望有所幫助,僅作參考,歡迎閱讀內(nèi)容。
文章相關(guān)熱門搜索詞:一步步教你用樂高拼星球大戰(zhàn)小型醫(yī)療艦,一步步教你用樂高拼個(gè)摩托車,一步步教你用樂高拼蝦,一步步教你用冰棍的棍子來做手工,一步步教你用樂高拼個(gè)摩托車,一步步教你用冰棍的棍子來做手工,一步步教你用樂高拼星球大戰(zhàn)小型醫(yī)療艦,一步步教你用樂高拼流浪地球二太空電梯,內(nèi)容如對您有幫助,希望把文章鏈接給更多的朋友!
前言
游戲規(guī)則:簡單的移動方向鍵讓數(shù)字疊加,并且獲得這些數(shù)字每次疊加后的得分,當(dāng)出現(xiàn)這個(gè)數(shù)字時(shí)游戲勝利。同時(shí)每次移動方向鍵時(shí),都會在這個(gè)4*4的方格矩陣的空白區(qū)域隨機(jī)產(chǎn)生一個(gè)數(shù)字2或者4,如果方格被數(shù)字填滿了,那么就GameOver了。
主邏輯圖
邏輯圖解:黑色是邏輯層,藍(lán)色是外部方法,紅色是類內(nèi)方法,稍后即可知道~
下面容我逐行解釋主邏輯main()函數(shù),并且在其中穿叉外部定義的函數(shù)與類。
主邏輯代碼解讀(完整代碼見文末)
主邏輯main如下,之后的是對主函數(shù)中的一些方法的解讀:
逐條解讀(代碼框內(nèi)會標(biāo)注是來自外部,無標(biāo)注則是來自內(nèi)部):定義主函數(shù)
reset出自外部定義的類,game_field=GameField的一個(gè)方法reset:
外部:
返回一個(gè)游戲進(jìn)行中的狀態(tài)。game_field=GameField狀態(tài)在后面有定義:
主函數(shù)底部定義:
draw是導(dǎo)入的類game_field=GameField中的方法:
這里面的draw方法的字函數(shù)我就不做多的解釋了,很簡單的一些概念。
但是又運(yùn)用到了很優(yōu)秀的精簡代碼。
有的地方建議去查一下python的一些高級概念,我就不做多的介紹了。
讀取用戶行為,函數(shù)來自于代碼初始的定義
在結(jié)尾處,也即是主函數(shù)執(zhí)行的第三步,定義了state = state_actions[state]()這一實(shí)例:
game()函數(shù)的定義類似于上面已經(jīng)講過的not_game() ,只是game()有了內(nèi)部循環(huán),即如果不是Restart/Exit或者對move之后的狀態(tài)進(jìn)行判斷,如果不是結(jié)束游戲,就一直在game()內(nèi)部循環(huán)。
此處的意思是:state=state_actions[state] 可以看做是:state=init()或者state=not_game(‘Win')或者是另外的not_game(‘Gameover')/game()
廢話不多說,上一個(gè)我的成功的圖,另外,可以通過設(shè)置最后幾行中的win=來決定你最終獲勝的條件!
完整代碼
總結(jié)
標(biāo)簽: 一步步教你用樂高拼個(gè)摩托車
本文鏈接地址:http://esstyw.cn/biancheng/381421.html 轉(zhuǎn)載請保留說明!上一篇:python 開發(fā)的三種運(yùn)行模式詳細(xì)介紹(python開發(fā)的程序)
下一篇:Python爬取網(wǎng)易云音樂上評論火爆的歌曲(Python爬取網(wǎng)易云音樂歌單內(nèi)歌曲歌手封面播放地址)
網(wǎng)站地圖: 企業(yè)信息 工商信息 財(cái)稅知識 網(wǎng)絡(luò)常識 編程技術(shù)
友情鏈接: 武漢網(wǎng)站建設(shè)