三國志、英雄無敵玩膩了?不要緊,我教你開發個戰旗遊戲玩玩

喜歡回合制戰棋遊戲的玩家,確定對《三國志曹操傳》和《英雄無敵》這兩款經典戰旗遊戲不陌生吧。編程

《三國志曹操傳》中,鎮壓黃巾軍、羣雄討伐董卓、滅呂布等歷史事件與遊戲中豐富的屬性職業、戰鬥系統相結合,打造出了一款極爲創新,又很有東方文化底蘊的回合制戰棋遊戲。函數

image

《英雄無敵》則是美國遊戲團隊開發出的一款極具西方魔幻色彩的戰旗遊戲,該系列遊戲想必是不少人年少的回憶吧。工具

不少人由《英雄無敵3》入坑,遊戲中英雄的臉譜,各類靜物,諸如花草河流等,都刻畫得比前做更爲細膩精美。學習

image

但玩了那麼多戰旗遊戲的你,可曾想過,本身作個戰旗遊戲玩玩?開發工具

給朋友親人玩本身開發的遊戲,豈不美哉?3d

今天,我就手把手教你們開發一個回合制戰棋遊戲,且最終會有源碼可供下載。對象

若是尚未學習過Python的朋友,建議先學習這門免費課程《Python3 簡明教程》blog

想直接下載遊戲源碼的朋友,能夠點擊《Pygame 打造回合制戰棋遊戲》教程

不只有全套代碼下載,還有可直接上手操做的Web IDE供你們在線製做遊戲。遊戲

遊戲展現

遊戲使用 pygame 模塊實現了類似英雄無敵系列的回合制戰棋遊戲:

image

image

對戰雙方每一個生物每一輪有一次行動機會,能夠行走或攻擊對方。

每一個生物屬性有:行走範圍,速度,生命,傷害,防護,攻擊 和是不是遠程兵種。

當把對方生物都消滅時,遊戲勝利。使用 JSON 保存地圖關卡配置文件,能夠方便得添加或修改地圖關卡。實現了一個遊戲生物 AI,能夠進行人機對戰。支持方格地圖和六邊形地圖兩種地圖形式。

pygame簡介及基礎語法

接下來,就讓咱們先了解一下此遊戲須要用到的開發工具:pygame。

pygame 是一個用來開發遊戲的 Python 模塊,基於 SDL(Simple DirectMedia Layer) 庫的基礎上開發。

pygame 其實就是 Python 中在 SDL 基礎上封裝的一個庫,容許你在 Python 程序中建立功能豐富的遊戲和多媒體程序。

pygame 比較適合開發 2D 遊戲,好比說,你能夠用 pygame 實現植物大戰殭屍,憤怒的小鳥,超級馬里奧等遊戲。

pygame 初始化相關函數:

  • pygame.init() 在使用 pygame 模塊功能前,須要先調用 pygame 的 init 函數進行初始化,而後纔可使用 pygame 提供的函數。
  • pygame.display.set_caption(title, icontitle=None) 設置遊戲窗口的標題
  • pygame.display.set_mode(size=(0, 0), flags=0, depth=0, display=0) 初始化遊戲的窗口,能夠設置遊戲窗口大小, 單位爲像素。
  • pygame.display.get_surface() 返回用來顯示遊戲窗口的 Surface 對象

pygame 基本設置函數:

  • pygame.display.update() 若是對遊戲中顯示進行了修改,好比更新了一個運動物體的位置,須要用這個函數來刷新,遊戲界面上才能顯示出變化。
  • pygame.time.Clock() 生成一個 pygame clock 對象。clock 對象的 tick 函數,
  • tick(framerate=0) clock 對象的 tick 函數用來實現遊戲每秒會運行多少幀數,好比參數 framerate 設爲 50,表示每秒運行 50 幀,即tick函數調用 50 次,大概耗時是 1 秒。也就是說每次調用 tick 函數大概會等待 0.02 秒,函數調用纔會返回。

具體開發流程

具體開發流程略長,含豐富的教學代碼與知識點,你們可點擊《Pygame 打造回合制戰棋遊戲》查看。

你將學到:

image

內容安排:

image

注:強烈建議沒有任何編程基礎的同窗先學習《Python3 簡明教程》哦。

相關文章
相關標籤/搜索