{"ScriptPreparationCode":"var speed = 188;\r\nvar from = {\r\n \tspeed: speed,\r\n\tx: 0,\r\n \ty: 450,\r\n \tbody: {\r\n \tvelocity: {\r\n \tx: 0,\r\n \ty: 0,\r\n }\r\n },\r\n \tcurrentTile: {\r\n \ttileID: 128,\r\n }\r\n};\r\n\r\nfunction manageTunnel_A(from, reduceSpeed) {\r\n var cx = from.x,\r\n cy = from.y;\r\n\r\n if (cx \u003C 128 \u0026\u0026 cy \u003E 448 \u0026\u0026 cy \u003C 480) {\r\n from.body.velocity.x = reduceSpeed ? 120 * Math.sign(from.body.velocity.x) : speed * Math.sign(from.body.velocity.x);\r\n } else if (cx \u003E 768 \u0026\u0026 cy \u003E 448 \u0026\u0026 cy \u003C 480) {\r\n from.body.velocity.x = reduceSpeed ? 120 * Math.sign(from.body.velocity.x) : speed * Math.sign(from.body.velocity.x);\r\n }\r\n\r\n if (from.x \u003C 1) {\r\n from.x = 32 * 28;\r\n } else if (from.x \u003E 32 * 28 - 1) {\r\n from.x = 0;\r\n }\r\n}\r\n\r\nfunction manageTunnel_B(from, reduceSpeed) {\r\n var cx = from.x,\r\n cy = from.y,\r\n vx = Math.sign(from.body.velocity.x);\r\n\r\n if (cx \u003C 128 \u0026\u0026 cy \u003E 448 \u0026\u0026 cy \u003C 480) {\r\n from.body.velocity.x = reduceSpeed ? 120 * vx : speed * vx;\r\n \tif (cx \u003C 1) {\r\n \tfrom.x = 32 * 28;\r\n \t}\r\n } else if (cx \u003E 768 \u0026\u0026 cy \u003E 448 \u0026\u0026 cy \u003C 480) {\r\n from.body.velocity.x = reduceSpeed ? 120 * vx : speed * vx;\r\n \tif (cx \u003E 32 * 28 - 1) {\r\n \tfrom.x = 0;\r\n \t}\r\n }\r\n}\r\n\r\nfunction manageTunnel_C(from, reduceSpeed) {\r\n var cx = from.x,\r\n cy = from.y;\r\n\r\n if ((cx \u003C 128 || cx \u003E 768) \u0026\u0026 480 % cy \u003C 32) {\r\n \tif(reduceSpeed){\r\n from.speed = 120;\r\n }\r\n }\r\n}","TestCases":[{"Name":"manageTunnel_A","Code":"manageTunnel_A(from, true);","IsDeferred":false},{"Name":"manageTunnel_B","Code":"manageTunnel_B(from, true);","IsDeferred":false},{"Name":"manageTunnel_C","Code":"manageTunnel_C(from, true);","IsDeferred":false}]}