用極客戰記做一款可以分享的小遊戲!
你可能想不到,在極客戰記中,除了能夠學習Python、JavaScript等編程語言的知識以外,還能夠通過極客戰記內的[遊戲開發]教學,根據自己的想法,創造一個有趣的遊戲,分享到你的朋友圈。
https://codecombat.163.com/play/game-dev-level/tabula-rasa/5abb8ca7633cf39a4e707a81
(遊戲資源較大,需載入較久,且部分機型可能出現無法載入的現象,)
長按鏈接「選擇複製」並打開,動動手指點擊體驗這款有趣的小遊戲,手機橫屏操作體驗更好。
在這個遊戲中,你手無寸鐵,需要穿過危險的火雨,利用遊戲內的機關殺死敵人,奪取寶石獲得勝利,不知道大家的體驗如何呢?
那麼接下來就教教大家,如何利用[遊戲開發1]中所教的知識做出這個遊戲。
首先要想使用遊戲開發的功能,你必須成為極客戰記的高能用戶,並通關地牢內的紅色主線關卡即可解鎖[遊戲開發1]。
[遊戲開發1]中,大多數關卡都屬於教學關卡,有一定的目標性與教學性。
關卡「白手起家」是一個專門用於用戶實踐,自由創建遊戲並分享的關卡,因此我們可以利用這個關卡,來製作遊戲進行分享。
進入這個關卡後,我們可以看到一個空白的森林地圖。
相信已經通關到「白手起家」的用戶,應該都已經掌握了基本的遊戲開發原理。
首先我們需要使用「game.spawnMaze()」函數來創建我們需要的地圖,在這裡我們使用的是第六個預置地圖。
一個遊戲必須要設置一個英雄和目標
在這個遊戲里,我們設置的目標是活著,利用機關擊倒所有敵人並獲得1塊寶石。
接著,我們需要改變英雄的一些屬性,加快她的移動速度,將她的攻擊力調為零,製造一種「手無寸鐵」的形式,以此限制玩家必須使用遊戲內的機關來殺死敵人。
參照面板里的示例,我們根據我們之前為英雄設置的變數「hero」來給英雄設置屬性。
maxSpeed是英雄的最大速度,為了躲開火球,我們需要讓她跑的快一點。
attackDamage是英雄的攻擊力——現在是「手無寸鐵」的狀態了。
接下來在遊戲中生成我們需要的機關,來阻礙玩家的通關。
遊戲內可以用來製造麻煩的道具有:
怪物生成器
「generator」
地雷
「fire-trap」
火焰噴射器
「fire-spewer」
在這個遊戲中,我們主要使用的是火焰噴射器,調節他們的發射速率,對玩家的行動進行阻礙。
我們將我們創建的兩個火焰噴射器命名為fire1和fire2。
將它們的direction(方向)屬性設置為「vertical」(垂直方向)。
spamInterval為火焰噴射器一次噴射多少個火球,此處我們設置的是13個,等到13個噴完,火焰噴射器便會陷入一段「冷卻」時間,這段時間,就是玩家行動的機會。
spamCooldown為火焰噴射器每次噴射的「冷卻」時間設置。
spamEvery為一次發射中,每個火球的發射間隔時間。
我們可依據自己想要設置的難度,來設置一個合適的值。
由於此前我們設置的遊戲目標除了存活以外,還有擊敗所有敵人和獲取寶石。所以我們接下來需要給遊戲添加敵人和寶石。
同樣是運用「game.spawnXY()」函數,創建敵人和寶石。
dr1= game.spawnXY("munchkin", 44, 30)
gem= game.spawnXY("gem", 27, 12)
要注意的是,由於我們的英雄是沒有任何攻擊力的,如果沒有及時將敵人殺死,我們可能會被敵人一頓亂錘錘死。為了降低遊戲難度,我們可以英雄的血量調高,或者將敵人的攻擊力調低。
如果想要提高遊戲難度,你還可以設置多個敵人,一路錘著英雄的敵人……
到這裡,我們的遊戲便已經有了一個大概的雛形了。
看起來除了比較簡陋以外,好像已經完成了。
不過其實我們還缺少一個很重要的東西
對的,這個遊戲的提示板,在極客戰記中,提示板的功能是用於記錄玩家的遊戲時間,殺死的敵人,收集的寶石等數據。
此處,我們可以稍作改變,利用"ui.track()"函數來表達我們想要告訴玩家的信息。
ui.track(game,」time」)
這個語句,可以看到後面的」time」是一個字元串型(String)的值,因此我們可以隨意更改引號內的內容。
因為空間有限,我們要注意內容的長度,並適當換行。
直到現在,我們的遊戲終於有了一個基本的雛形。接下來,只需要對遊戲的細節進行一些雕琢完善,就能做出文章開頭分享的那個遊戲啦!
大家趕緊到極客戰記中試一試,發現更多的道具技巧,動手做一個有趣的遊戲分享給自己的好友吧。


TAG:極客戰記 |