// 坑向(Troll / Trap)关卡:背叛玩家的一切直觉 import { G, rep, E, plat, ent, flr } from './kit.js'; export default [ // ---------------- 1 ---------------- { id: 'r1', name: 'TRUST NO ONE', type: 'troll', diff: 3, bg: 'troll', width: 56, hint: '路牌在骗你。那两颗"补给"也不怀好意。地板会塌。', messages: ['← 地板很结实,放心走 →', '这颗苹果看起来很好吃'], grid: G(56, [ rep('#', 56), // 0 E(56), E(56), E(56), E(56), E(56), E(56), // 1-6 E(56), E(56), E(56), E(56), E(56), E(56), // 7-12 E(56), // 13 ent(56, [20, 'D'], [38, 'D']), // 14 E(56), // 15 E(56), // 16 ent(56, [2, 'S'], [5, 'T'], [9, '*'], [22, 'G'], [36, '*'], [48, 'T'], [52, 'X']), // 17 flr(['#', 10], ['V', 8], ['#', 8], ['^', 5], ['#', 9], ['V', 6], ['#', 9]), // 18 ]), }, // ---------------- 2 ---------------- { id: 'r2', name: 'FALSE GOAL', type: 'troll', diff: 4, bg: 'troll', width: 56, hint: '地上那扇门是假的——走过去就死。真正的终点在右上角。', messages: ['终点就在前面!→', '真的在上面。'], grid: G(56, [ rep('#', 56), // 0 E(56), E(56), E(56), E(56), E(56), E(56), // 1-6 ent(56, [50, 'X']), // 7 plat(56, 48, 5), // 8 E(56), // 9 plat(56, 44, 5), // 10 E(56), // 11 plat(56, 38, 5), // 12 E(56), // 13 plat(56, 44, 5), // 14 E(56), // 15 plat(56, 38, 5), // 16 ent(56, [2, 'S'], [8, 'T'], [15, 'G'], [24, '^'], [25, '^'], [30, 'X'], [36, 'G']), // 17 rep('#', 56), // 18 ]), events: [ { x: 28, y: 14, w: 6, h: 5, once: false, actions: [{ type: 'kill' }] }, ], }, // ---------------- 3 ---------------- { id: 'r3', name: 'BLIND', type: 'troll', diff: 4, bg: 'troll', width: 56, hint: '摄像头接管了视野:你只能看见身边一小块地方。天上下刺也看不见。', messages: ['摄像头已启动 ★'], grid: G(56, [ rep('#', 56), // 0 E(56), E(56), E(56), E(56), E(56), E(56), // 1-6 E(56), E(56), E(56), E(56), E(56), E(56), // 7-12 E(56), // 13 ent(56, [18, 'D'], [30, 'D'], [44, 'D']), // 14 E(56), // 15 E(56), // 16 ent(56, [2, 'S'], [6, 'T'], [15, 'G'], [32, 'G'], [45, 'X']), // 17 flr(['#', 8], ['^', 3], ['#', 10], ['^', 4], ['#', 12], ['^', 3], ['#', 9], ['^', 4], ['#', 2]), // 18 ]), camzones: [{ x: 1, y: 14, w: 54, h: 5, mode: 'zoom', zoom: 2.6 }], }, // ---------------- 4 ---------------- { id: 'r4', name: 'TROLL PARADISE', type: 'troll', diff: 5, bg: 'troll', width: 64, hint: '漩涡送你回起点,"补给"会杀你,地板会塌,天上还会下刺雨。', messages: ['这是最后的考验(笑)', '前面的门是假的'], grid: G(64, [ rep('#', 64), // 0 E(64), E(64), E(64), E(64), E(64), E(64), // 1-6 E(64), E(64), E(64), E(64), E(64), E(64), // 7-12 E(64), // 13 ent(64, [12, 'D'], [25, 'D'], [38, 'D'], [55, 'D']), // 14 E(64), // 15 E(64), // 16 ent(64, [2, 'S'], [5, 'T'], [7, '*'], [19, 'G'], [30, '*'], [44, 'W'], [47, 'T'], [58, 'X']), // 17 flr(['#', 8], ['V', 6], ['#', 8], ['^', 4], ['#', 8], ['V', 6], ['#', 8], ['^', 3], ['#', 12]), // 18 ]), warps: [{ to: 'spawn' }], events: [ { x: 28, y: 14, w: 5, h: 5, once: false, actions: [{ type: 'spikes', x: 26, y: 0, count: 8, gap: 2 }] }, ], }, ];