前言
Untrusted 這個小遊戲必須由玩家編寫 JavaScript 來完成任務,遊戲目的只要操作角色到出口即可。
其中必須觀察現有的程式,大部分的程式是不能做修改的,必須在黑色的地方新增或修改程式讓遊戲可以順利進行。
解法
1. cellBlockA
直接將黑色部分的程式刪除即可
2. theLongWayOut
將 maze 重設大小 (非必要),另外新增一個出口
3. validationEngaged
在維持一定數量的 block 情況下修改位置
4. multiplicity
新增一個出口
5. minesweeper
修改地雷的顏色
6. drones101
新增一長條的 block 來阻擋 d 的去路
7. colors
這邊的電話可以讓你按Q或Ctrl+6執行callback,因此在callback裡每次呼叫都改變顏色即可
8. intoTheWoods
將callback函式改成generateForest
,如此一來一邊行動一邊重新產生樹林即可到達終點
9. fordingTheRiver
重新定義一個raft,然後放一堆到水面上穿過
10. ambush
全部改成向右移動,並在出口的平行左邊放一個 block 阻擋 d 繼續向右擋到出口
11. robot
若機器人可以向右則向右,否則向下,接著跟機器人會合拿到鑰匙即可
12. robotNav
在第一個 # 柱子放四個直的,然後再第二個左邊放置一個4個 block 類似閃電的圖形,接著機器人行動判斷向右->向下->向上即可。
13. robotMaze
這關運氣好,只有讓機器人先向下然後向右,某次產生的地圖可以過關
14. crispsContest
修改的地方改成藍色鑰匙,行動順序如下
左邊⊗->⊗->⊗->右上⊗->⊗->⊗->右下⊗->⊗->⊗
15. exceptionalCrossing
修改的地方改成一個未宣告的變數,如此一來就可以穿越水面到終點
16. lasers
在最下面重寫getRandomInt
函式,每次回傳到同一個數字例如0,如此一來雷射都會產生在那個點而已。
17. pointers
這關莫名其妙過了,目前想法是一定要讓傳送點傳到傳送點不可以直接傳到 trap ,然後就會到出口附近的傳送點了。
18. superDrEvalBros
在callback裡面另外寫一個反重力函式讓角色不斷向上且註冊 timer 即可。
19. documentObjectMadness
這關不知道在幹麻亂動就過了 ….
20. bossFight
可以發現只有在最一開始限制了 dynamic 數量,並且非 dynamic 數量還允許你建一個,因此 define 一個 boss2 和 bullet2 , 讓使用者碰觸到 boss2 的時候會發射向上的 bullet2 來炸光所有 boss 即可得到 Algorithm
21. endOfTheLine
進入 menu 的 scripts 的 object.js,把 exit 裡的判斷 finalLevel 拿掉即可。