在 github 上看到這個有趣的項目 – WarriorJS ,項目的內容寫着 – 使人興奮的程序設計和人工智慧遊戲,Ok 我坦白我是看到人工智慧被這個專案所吸引,可是玩了兩個關卡,仍是不知道這個遊戲跟人工智慧有什麼關係,不過這個遊戲的最大亮點反而是 – 透過寫 Javascript 來破遊戲所設下的關卡 javascript
這個遊戲沒有酷炫的聲光效果,也沒有圖形介面,只有文字介面( 想起了之前很熱門的 MUD ) ,能夠一邊在 VS Code 編輯器上編碼,而後在 VS Code 內建的 console 中執行程序看看你寫的 Javascript 代碼是否是能夠順利破遊戲給你的任務 ,聽起來頗有趣,由於都是文字介面,剛開始玩也有點摸不着頭緒,如下簡單介紹這個遊戲要如何啓動,和如何玩,但願這個遊戲會幫助你回想一下當初開始學編程的樂趣java
在 WarriorJS 中,你穿着勇士般的盔甲,爬上一座高塔,到達頂端的 JavaScript 之劍。傳說持劍者由於使用 JavaScript 語言變得豁然開朗,可是要注意的是: 這個過程並不容易。在每層樓上,你須要編寫 JavaScript 來指導戰士與敵人戰鬥,拯救俘虜,活着走上樓梯。node
不管你是程序設計新手仍是 JavaScript 大師,WarriorJS 都會讓你的技能受到考驗。 你敢接受挑戰嗎?git
( 以上游戲說明翻譯自 github 開源項目中的遊戲介紹 )github
1. 使用 npm 安裝npm
npm install –global @warriorjs/cli
複製代碼
2. 創建你本身的戰士
編程
到終端機執行 warriorjs ,程式會提醒你目前沒有 warriorjs 這個目錄,是否要創建,選 Yes ,接下來幫戰士取一個名稱,選一個要挑戰的塔等級 ( 一開始彷佛只有 beginner 能夠選 )bash
創建好後,warriorjs 程式會幫你在 warriorjs 這個目錄創建一個戰士名稱-begineer目錄,使用 VS Code 來打開這個目錄,先看看目錄中的 README.md ,這就是遊戲給你的第一道關卡任務說明,是使用 markdown 語法寫的markdown
第一關還蠻簡單的只要走到樓梯就算過關了,裏面的 @ 就是戰士你, > 表明樓梯,還有你的生命值 HP = 20 ,還有戰士的能力,第一關只有走路 warrior.walk()編輯器
接下來就要開始寫程式來完成第一個關卡的任務,打開 Player.js ,而後在 playTurn 這個 function 中輸入 warrior.walk() ,寫好後要記得儲存
打開 VS Code 的終端機 ,而後輸入 warriorjs 指令,你就會看到遊戲會根據你向戰士編寫的 javascript 代碼去執行,這個任務至關簡單,就是一直走到樓梯就完成了,遊戲完成後會問你是否要挑戰下一個關卡,選 Yes 後,warriorjs 會更新 README.md 給你下一個任務說明,好像 mission impossible
打開看 README.md ,OK 第二個任務來了,你會發現有新的地圖,戰士的能力除了走路也多了新的技能 ( attack() ) ,還多了感知能力 ( feel() ,回傳前面空間狀態) ,你的任務仍是走到樓梯,可是中間有一個障礙 Sludge ,過這個障礙會讓你損失 12 個生命值,attack() 也會消耗 5 個生命值
任務說明有給提示,利用 feel().isEmpty() 判斷你的前面是否有障礙,若是有就使用 attack(),若是沒有就繼續走
打開 Play.js 開始設計你的戰士要如何過關,你能夠先不用改代碼,看看戰士是怎麼死掉的 ,可是爲了避免花費太多篇幅,先破個梗看看這關要如何過,如下是個人代碼
class Player {
playTurn(warrior) {
if(warrior.feel().isEmpty()){
warrior.walk();
} else {
warrior.attack();
}
}
}複製代碼
這個遊戲會讓你上癮嗎?恭喜你,這個遊戲也會讓你喜歡上編程