用Python和Pygame寫遊戲-從入門到精通(實戰二:惡搞俄羅斯方塊4)

發表於2015-12-30

惡搞俄羅斯方塊的製造之旅也可以結束了,通過上三次的說明,基本就整遍了整個程式碼,雖說都說了一些類名和方法名而沒有涉及到具體的實現,不過實現就是排列幾句程式碼,大家一定沒問題吧:)

揉成一團

總是可以把這幾次說的東西放在一起執行了,介面的美化啥的我完全沒有做,所以很難看,我們們主要學習的東西是pygame,就不在這上面多花功夫了。

執行介面:

這個是第4種模式的截圖,會落下莫名其妙的東西的版本…… 落下個貓先生紀念“夏目友人帳3”的完結。。。

各個模式說明:

  • 1: 落下的直接消失
  • 2: 落下長條
  • 3: 非常小的方塊
  • 4: 上圖所示,落下亂糟糟的東西(當然可以隨便改)
  • 5: 暫時和6一樣,發揮交給你們了:)
  • 6: 正常模式

完成度說明:

直接進去選單是沒有背景的,你很容易自己加一個……遊戲過程中空格暫停,Esc返回選單,返回選單時直接覆寫在當前的遊戲畫面上。暫時懶得弄了,大家先湊合湊合。

資源說明:

圖片和音效是網上隨便找的,許可什麼的,我什麼不知道……
背景音樂史俄羅斯方塊之經典“永恆俄羅斯”的音樂中的Hawker’s song,理論上應該是有版權的,不過都已經20多年了,而且我們們是學習,學習~ 不要太在意了(笑)

下載

DBank下載

我放在DBank上是因為記得DBank不用下載器也不用登陸就能下載的,直接點可能會跳出登陸框,直接右鍵另存為就OK了。

py2exe的執行程式碼也放出來了,基本就是參考我之前的py2exe篇寫的,不過說實話這東西真是難搞,還是多多實踐,根據每個工程自己修改,不存在一個指令碼放在哪裡都好用!

總結

如果您做過遊戲,稍微看看這裡面的程式碼一定會嗤之以鼻,看似有條不紊實際上可實在有些亂,各種介面的跳轉也是很讓人崩潰。不管影象還是運動,都是用最原始的東西組織起來的,維護起來簡直要命啊。

我們需要“遊戲引擎”來讓我們的遊戲書寫更加的漂亮。

為什麼一開始不提供一個引擎?如果一開始就引入引擎的概念,會讓我們對引擎的認識不深刻。只有真正的用原始的程式碼寫過一個遊戲後,我們才能意識到“引擎”的作用和必要性。對我們面對的東西有足夠深刻的認識,才能讓我們更卓越!

當時光看這幾篇文章的內容,是不夠理解的,只要把程式碼通讀,然後完成一個新的模式(就是那個空著的模式5),才能有足夠的認識(這個程式碼寫的不夠漂亮,著重理解的是pygame,而不是整個程式碼設計,我可不能誤人子弟啊)。

下一個遊戲會更加的精彩……

更新

關於在fedora上執行不起來的問題,我原想會有哪位fedora使用者研究一下把問題貼出來呢,看來沒有,只好自己安裝了嘗試了……

問題在於game.py中pre_init(44100, 16, 2, 1024*4),fedora必須把16改小,比如8,或者預設的-16,具體原因我也沒時間找,猜測可能是fedora的音效卡驅動對回放的限制有些多吧。

相關文章