likes
comments
collection
share

边写 Javascript 代码边玩游戏 – WarriorJS

作者站长头像
站长
· 阅读数 4

在 github 上看到这个有趣的项目 – WarriorJS ,项目的内容写着 – 令人兴奋的程序设计和人工智慧游戏,Ok 我坦白我是看到人工智慧被这个专案所吸引,但是玩了两个关卡,还是不知道这个游戏跟人工智慧有什么关系,不过这个游戏的最大亮点反而是 – 透过写 Javascript 来破游戏所设下的关卡

这个游戏没有酷炫的声光效果,也没有图形介面,只有文字介面( 想起了以前很热门的 MUD ) ,可以一边在 VS Code 编辑器上编码,然后在 VS Code 内建的 console 中执行程序看看你写的 Javascript 代码是不是可以顺利破游戏给你的任务 ,听起来很有趣,因为都是文字介面,刚开始玩也有点摸不着头绪,以下简单介绍这个游戏要如何启动,和如何玩,希望这个游戏会帮助你回想一下当初开始学编程的乐趣

游戏背景介绍

在 WarriorJS 中,你穿着勇士般的盔甲,爬上一座高塔,到达顶端的 JavaScript 之剑。传说持剑者因为使用 JavaScript 语言变得豁然开朗,但是要注意的是: 这个过程并不容易。在每层楼上,你需要编写 JavaScript 来指导战士与敌人战斗,拯救俘虏,活着走上楼梯。

无论你是程序设计新手还是 JavaScript 大师,WarriorJS 都会让你的技能受到考验。 你敢接受挑战吗?

( 以上游戏说明翻译自 github 开源项目中的游戏介绍 )

开始安装游戏

1. 使用 npm 安装

npm install –global @warriorjs/cli

2. 建立你自己的战士

到终端机执行 warriorjs ,程式会提醒你目前没有 warriorjs 这个目录,是否要建立,选 Yes ,接下来帮战士取一个名称,选一个要挑战的塔等级 ( 一开始似乎只有 beginner 可以选 )

边写 Javascript 代码边玩游戏 – WarriorJS

建立好后,warriorjs 程式会帮你在 warriorjs 这个目录建立一个战士名称-begineer目录,使用 VS Code 来打开这个目录,先看看目录中的 README.md ,这就是游戏给你的第一道关卡任务说明,是使用 markdown 语法写的

第一关还蛮简单的只要走到楼梯就算过关了,里面的 @ 就是战士你, > 代表楼梯,还有你的生命值 HP = 20 ,还有战士的能力,第一关只有走路 warrior.walk()

边写 Javascript 代码边玩游戏 – WarriorJS

接下来就要开始写程式来完成第一个关卡的任务,打开 Player.js ,然后在 playTurn 这个 function 中输入 warrior.walk() ,写好后要记得储存

边写 Javascript 代码边玩游戏 – WarriorJS

打开 VS Code 的终端机 ,然后输入 warriorjs 指令,你就会看到游戏会根据你向战士编写的 javascript 代码去执行,这个任务相当简单,就是一直走到楼梯就完成了,游戏完成后会问你是否要挑战下一个关卡,选 Yes 后,warriorjs 会更新 README.md 给你下一个任务说明,好像 mission impossible 

边写 Javascript 代码边玩游戏 – WarriorJS

打开看 README.md ,OK 第二个任务来了,你会发现有新的地图,战士的能力除了走路也多了新的技能 ( attack() ) ,还多了感知能力 ( feel() ,回传前面空间状态) ,你的任务还是走到楼梯,但是中间有一个障碍 Sludge ,过这个障碍会让你损失 12 个生命值,attack() 也会消耗 5 个生命值

任务说明有给提示,利用 feel().isEmpty() 判断你的前面是否有障碍,如果有就使用 attack(),如果没有就继续走

边写 Javascript 代码边玩游戏 – WarriorJS

打开 Play.js 开始设计你的战士要如何过关,你可以先不用改代码,看看战士是怎么死掉的 ,但是为了不花费太多篇幅,先破个梗看看这关要如何过,以下是我的代码

class Player {    
   playTurn(warrior) {            
    if(warrior.feel().isEmpty()){                        
       warrior.walk();            
    } else {                        
       warrior.attack();            
    }     
   }
}
如果前面是空无一物就往前走,如果遇到障碍,就执行 attach() ,写好控制程式后储存 Player.js 然后到终端机执行 warriorjs 程式,你会看到游戏是否按照你写的 javascript 程序逻辑去执行,这关也很简单,又顺利过关了,如果要继续挑战,按下 y ,前面关卡很简单,后面会越来越困难

边写 Javascript 代码边玩游戏 – WarriorJS

这个游戏会让你上瘾吗?恭喜你,这个游戏也会让你喜欢上编程

欢迎逛逛 Soft & Share 网站