91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python代碼怎么開發俄羅斯方塊

發布時間:2021-10-19 09:38:44 來源:億速云 閱讀:173 作者:柒染 欄目:大數據

這期內容當中小編將會給大家帶來有關Python代碼怎么開發俄羅斯方塊,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Python代碼怎么開發俄羅斯方塊

最近想找一些Python相關的游戲開發例子,正好在itch.io上閑逛看到這個俄羅斯方塊項目,瞬間被驚艷到了。作者是 Mikhail ,項目(tetris_for_two)地址是:
https://gitlab.com/2pi360/tetris_for_two

1.游戲介紹

下面就給大家介紹一下這個用Python寫的俄羅斯方塊具體功能。它一共有七個游戲模式:

1. 單人模式
2. 普通雙人模式
3. 鏡像雙人模式(即掉落方塊都一樣)
4. 雙人加速模式(每消去一行都會給對方加速)
5. 雙人交換控制模式(一次控制自己的方塊,一次控制對方的)
6. 雙人平衡模式(會改變對方的容量)
7. 雙人單容器模式

沒錯,是不是被這豐富的游戲模式震驚到了?而且這款游戲的界面設計也是相當簡潔舒服(而且玩這樣的Python開源游戲,你永遠不會被廣告氣到):

Python代碼怎么開發俄羅斯方塊

不僅如此,除了wasd和上下左右鍵,它還支持用游戲手柄(僅一個)進行游戲,并且能切換兩個玩家的按鍵設置:

Python代碼怎么開發俄羅斯方塊

雙人模式類似如下, 非常適合小情侶之間消耗時光哦(如果你們都喜歡玩俄羅斯方塊的話)

Python代碼怎么開發俄羅斯方塊

尤其是雙人協作模式,兩個人一起解決問題也是增進感情的好方法:

Python代碼怎么開發俄羅斯方塊

還有其他幾種游戲模式,大家可以上 itch 上下載游戲體驗,或者在公眾號后臺回復 俄羅斯方塊 下載完整源代碼和游戲包(各個系統都有)。

2.源碼剖析

當然,我們首要目的還是學習這款游戲的源代碼,下面就給大家介紹一些這款游戲的部分核心代碼。下載該開源項目后,你會發現它的py文件分布如下:

│ base.py
│ game_modes.py
│ main.py
│ run_to_release.py
│ tetris.py
│ ... ....
├─assets
│ ... ...

└─screens
... ...

其中,main.py是程序的入口點,首先看看模塊引入,sys的引入是當然的,游戲結束的時候需要調用

sys.exit()


使得Python程序正常退出。這個游戲的引擎使用了pygame,是一個比較老的基于Python的2D游戲引擎,不過也是因為存在時間長,它已經成為一個很成熟且易上手的2D游戲開發庫 。

Python代碼怎么開發俄羅斯方塊

作者自己寫了兩個模塊,一個是base,里面有畫布配置、按鍵配置、玩家配置等等一系列游戲的基礎設置。而 game_modes 則是七種游戲模式的邏輯所在模塊,里頭還引用了tetris.py,這個模塊定義了整個俄羅斯方塊旋轉的方法及其數據結構。

不過由于時間關系,我們重點看看base里的主循環main_loop:

Python代碼怎么開發俄羅斯方塊

pygame.time.Clock() 用于配置游戲的幀數,Clock.tick(frameate) 代表每秒framerate幀運行,也就是說,每秒不會執行超過 framerate 次循環 。這個參數的值,我們可以在主函數里看到是600. 也就是這個循環每秒不會超過600次。

pygame.event.get() 是pygame游戲引擎的事件處理器,它用于處理所有的事件,好像打開大門讓所有的人進入,然后我們可以根據事件不同的屬性做相應的操作,如 event.type == pgl.KEYDOWN 表示鍵盤被按下時,執行條件中的語句:

pressed_keys.add(event.key)


便將其加入到pressed_keys集合中,yield返回生成器,也就是說只要程序不被終止,這個函數就會不斷地返回四個值: events, time_passed, pressed_keys 或 {(0, 0)}。events就是用戶觸發的事件,time_passed就是這些事件的時長,pressed_keys即用戶按下的鍵。

這樣就完成了一次用戶事件的傳遞,然后再又后端對用戶的事件進行處理,展示在游戲當中。當然,更復雜的還在后面,這里只是一個簡單的事件處理,當然也是最重要的事件處理部分。

上述就是小編為大家分享的Python代碼怎么開發俄羅斯方塊了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖西县| 清苑县| 来宾市| 海兴县| 咸丰县| 大埔县| 梅州市| 宾川县| 长子县| 肇源县| 讷河市| 辽宁省| 皋兰县| 历史| 巫溪县| 沁阳市| 宁城县| 临夏县| 德兴市| 长兴县| 建水县| 铁岭市| 揭西县| 乌兰县| 休宁县| 淳化县| 高台县| 临安市| 汝南县| 弋阳县| 漯河市| 乐陵市| 淮阳县| 甘孜县| 彩票| 秦安县| 广河县| 马关县| 无棣县| 黄冈市| 黑龙江省|