home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / Never_End.swf / scripts / game / Model.as < prev    next >
Encoding:
Text File  |  2008-09-23  |  106.3 KB  |  1,895 lines

  1. package game
  2. {
  3.    public class Model
  4.    {
  5.       
  6.       public static var _KEY_DOWN:Boolean = false;
  7.       
  8.       public static var userName:String = "PLYAER1";
  9.       
  10.       public static var ExitData:Object;
  11.       
  12.       public static var _disableKeyBoard:Boolean = false;
  13.       
  14.       public static var state:String = "normal";
  15.       
  16.       public static const MAX_MOVE_SPEED:Number = 2;
  17.       
  18.       public static var ran:Number = 0;
  19.       
  20.       public static var gridWidth:Number;
  21.       
  22.       public static var books:Array;
  23.       
  24.       public static var cData:Object;
  25.       
  26.       public static var isGameOver:Boolean = false;
  27.       
  28.       public static const MAX_DROP_SPEED:Number = 25;
  29.       
  30.       public static var isStatic:Boolean;
  31.       
  32.       public static var _KEY_UP:Boolean = false;
  33.       
  34.       public static const MOVING_A:Number = 0.3;
  35.       
  36.       public static var isSleep:Boolean = false;
  37.       
  38.       public static var jumped:int = 0;
  39.       
  40.       public static const a:Number = 0.5;
  41.       
  42.       public static var gravity:Object = {
  43.          "x":0,
  44.          "y":a
  45.       };
  46.       
  47.       public static var died:int = 0;
  48.       
  49.       public static var _KEY_LEFT:Boolean = false;
  50.       
  51.       public static var rotated:int = 0;
  52.       
  53.       public static var hiddedRoomLocation:Object;
  54.       
  55.       public static var _instance:Model;
  56.       
  57.       public static var hasP:Boolean;
  58.       
  59.       public static var _KEY_RIGHT:Boolean = false;
  60.       
  61.       public static var rotation:Number = 0;
  62.        
  63.       
  64.       public var mapEntrances:Array;
  65.       
  66.       public var currentLevel:uint = 0;
  67.       
  68.       public var hiddenRoomSets:Array;
  69.       
  70.       public var mapData:Object;
  71.       
  72.       public var callBacks:Array;
  73.       
  74.       public var currentRoomId:uint;
  75.       
  76.       public var currentData:Object;
  77.       
  78.       private var messages:Array;
  79.       
  80.       private var cRoom:Array;
  81.       
  82.       public var roomLevel:Array;
  83.       
  84.       public var allData:Object;
  85.       
  86.       public var levels:Array;
  87.       
  88.       public var currentRoom:Room;
  89.       
  90.       public var rooms:Array;
  91.       
  92.       private var cMan:Array;
  93.       
  94.       public function Model()
  95.       {
  96.          currentLevel = 0;
  97.          super();
  98.          mapEntrances = new Array();
  99.          rooms = new Array();
  100.          levels = new Array();
  101.          callBacks = new Array();
  102.          roomLevel = new Array();
  103.          createMainMap();
  104.          setMessage();
  105.          addEntrances();
  106.          createLevels();
  107.          createHiddenRoom();
  108.          getAllData();
  109.       }
  110.       
  111.       public static function get KEY_RIGHT() : Boolean
  112.       {
  113.          if(_disableKeyBoard || isGameOver)
  114.          {
  115.             return false;
  116.          }
  117.          return _KEY_RIGHT;
  118.       }
  119.       
  120.       public static function get KEY_LEFT() : Boolean
  121.       {
  122.          if(_disableKeyBoard || isGameOver)
  123.          {
  124.             return false;
  125.          }
  126.          return _KEY_LEFT;
  127.       }
  128.       
  129.       public static function getInstance() : Model
  130.       {
  131.          if(_instance == null)
  132.          {
  133.             _instance = new Model();
  134.          }
  135.          return _instance;
  136.       }
  137.       
  138.       public static function resetData() : void
  139.       {
  140.          jumped = 0;
  141.          ran = 0;
  142.          died = 0;
  143.          rotated = 0;
  144.       }
  145.       
  146.       public static function get KEY_UP() : Boolean
  147.       {
  148.          if(_disableKeyBoard || isGameOver)
  149.          {
  150.             return false;
  151.          }
  152.          return _KEY_UP;
  153.       }
  154.       
  155.       public static function set disableKeyBoard(param1:Boolean) : void
  156.       {
  157.          _disableKeyBoard = param1;
  158.       }
  159.       
  160.       public static function get KEY_DOWN() : Boolean
  161.       {
  162.          if(_disableKeyBoard || isGameOver)
  163.          {
  164.             return false;
  165.          }
  166.          return _KEY_DOWN;
  167.       }
  168.       
  169.       public static function get disableKeyBoard() : Boolean
  170.       {
  171.          return _disableKeyBoard;
  172.       }
  173.       
  174.       public function getCurrentData() : Object
  175.       {
  176.          if(allData[userName] == null)
  177.          {
  178.             allData[userName] = new Object();
  179.          }
  180.          currentData = allData[userName];
  181.          return currentData;
  182.       }
  183.       
  184.       private function get2DArray(param1:Array, param2:Array, param3:Array = null) : Array
  185.       {
  186.          var _loc4_:Array = null;
  187.          var _loc5_:int = 0;
  188.          var _loc6_:int = 0;
  189.          if(param3 == null)
  190.          {
  191.             param3 = new Array();
  192.          }
  193.          _loc4_ = new Array();
  194.          _loc5_ = int(param1[0]);
  195.          while(_loc5_ <= param2[0])
  196.          {
  197.             _loc6_ = int(param1[1]);
  198.             while(_loc6_ <= param2[1])
  199.             {
  200.                _loc4_.push([_loc5_,_loc6_]);
  201.                _loc6_++;
  202.             }
  203.             _loc5_++;
  204.          }
  205.          return _loc4_.concat(param3);
  206.       }
  207.       
  208.       public function createLevels() : void
  209.       {
  210.          createRoom(9,9);
  211.          addGroup(get2DArray([0,1],[0,3]));
  212.          addGroup(get2DArray([0,5],[0,7]));
  213.          addGroup(get2DArray([8,0],[8,8]));
  214.          addGroup(get2DArray([0,0],[7,0]));
  215.          addGroup(get2DArray([0,8],[7,8]));
  216.          addGroup([[4,2],[6,3],[7,3],[3,4]]);
  217.          addGroup(get2DArray([2,3],[2,7]));
  218.          addGroup(get2DArray([5,2],[5,5]));
  219.          addGroup(get2DArray([4,6],[6,6]));
  220.          addGroup([[1,7]],"key",false);
  221.          addGroup([[7,6]],"door",true,90);
  222.          addGroup([[7,4]],"key",false);
  223.          addGroup([[5,1]],"door",true);
  224.          addGroup([[7,2]],"key",false);
  225.          addGroup([[0,4]],"door",true);
  226.          addGroup([[4,5]],"book",false,1);
  227.          addGroup([[-1,4]],"exit",true,"T0");
  228.          setManPosition([[1,4]]);
  229.          addGroup([[4,4]],"man",false);
  230.          createRoom(18,9);
  231.          addGroup([[0,12]]);
  232.          addGroup(get2DArray([0,0],[0,10]));
  233.          addGroup(get2DArray([0,14],[0,17]));
  234.          addGroup(get2DArray([8,0],[8,17]));
  235.          addGroup(get2DArray([1,0],[3,0]));
  236.          addGroup(get2DArray([5,0],[7,0]));
  237.          addGroup(get2DArray([1,17],[7,17]));
  238.          addGroup([[5,6],[7,4],[2,2],[6,2],[5,8],[6,4],[6,10],[2,8],[3,4],[3,8],[3,9],[4,3],[4,4],[4,6]]);
  239.          addGroup(get2DArray([1,10],[3,10]));
  240.          addGroup([[0,11]],"spike",true,180);
  241.          addGroup([[0,11]],"halfWall",true,180);
  242.          addGroup([[1,6]],"spike",true,270);
  243.          addGroup([[1,6]],"halfWall",true,270);
  244.          addGroup([[2,6]],"spike",true,270);
  245.          addGroup([[2,6]],"halfWall",true,270);
  246.          addGroup([[3,6]],"spike",true,270);
  247.          addGroup([[3,6]],"halfWall",true,270);
  248.          addGroup([[5,4]],"spike",true,270);
  249.          addGroup([[5,4]],"halfWall",true,270);
  250.          addGroup([[6,8]],"spike",true,270);
  251.          addGroup([[6,8]],"halfWall",true,270);
  252.          addGroup([[7,8]],"spike",true,270);
  253.          addGroup([[7,8]],"halfWall",true,270);
  254.          addGroup([[4,10]],"spike",true,270);
  255.          addGroup([[4,10]],"halfWall",true,270);
  256.          addGroup([[5,10]],"spike",true,270);
  257.          addGroup([[5,10]],"halfWall",true,270);
  258.          addGroup([[3,14],[4,13],[4,14],[4,15],[5,12],[5,13],[5,14],[5,15],[6,12],[6,13],[3,13],[4,12],[3,15],[4,16],[6,15],[5,16],[6,14],[7,15]],"piston",false);
  259.          addGroup([[2,12]],"key",false);
  260.          addGroup([[1,8]],"door",true,90);
  261.          addGroup([[2,9]],"key",false);
  262.          addGroup([[0,13]],"door",true);
  263.          addGroup([[4,-1]],"exit",true,"L0");
  264.          addGroup([[-1,13]],"exit",true,"T1");
  265.          setManPosition([[4,1],[1,13]]);
  266.          addGroup([[5,5]],"man",false);
  267.          createRoom(9,9);
  268.          addGroup([[0,7],[0,8],[1,8],[7,8],[8,5],[8,7],[8,8]]);
  269.          addGroup(get2DArray([0,0],[0,4]));
  270.          addGroup(get2DArray([8,0],[8,3]));
  271.          addGroup(get2DArray([1,0],[3,0]));
  272.          addGroup(get2DArray([5,0],[7,0]));
  273.          addGroup([[6,1],[1,4],[4,4],[5,4],[6,6],[2,2],[6,2]]);
  274.          addGroup([[8,6]],"spike",true,0);
  275.          addGroup([[8,6]],"halfWall",true,0);
  276.          addGroup([[3,2]],"spike",true,270);
  277.          addGroup([[3,2]],"halfWall",true,270);
  278.          addGroup([[5,2]],"spike",true,270);
  279.          addGroup([[5,2]],"halfWall",true,270);
  280.          addGroup([[2,6]],"spike",true,90);
  281.          addGroup([[2,6]],"halfWall",true,90);
  282.          addGroup([[3,6]],"spike",true,90);
  283.          addGroup([[3,6]],"halfWall",true,90);
  284.          addGroup([[4,6]],"spike",true,90);
  285.          addGroup([[4,6]],"halfWall",true,90);
  286.          addGroup([[5,6]],"spike",true,90);
  287.          addGroup([[5,6]],"halfWall",true,90);
  288.          addGroup([[0,5]],"spike",true,180);
  289.          addGroup([[0,5]],"halfWall",true,180);
  290.          addGroup([[0,6]],"spike",true,180);
  291.          addGroup([[0,6]],"halfWall",true,180);
  292.          addGroup([[5,3]],"spike",true,180);
  293.          addGroup([[5,3]],"halfWall",true,180);
  294.          addGroup([[5,5]],"spike",true,180);
  295.          addGroup([[5,5]],"halfWall",true,180);
  296.          addGroup([[2,4]],"spike",true,270);
  297.          addGroup([[2,4]],"halfWall",true,270);
  298.          addGroup([[2,8]],"spike",true,270);
  299.          addGroup([[2,8]],"halfWall",true,270);
  300.          addGroup([[3,8]],"spike",true,270);
  301.          addGroup([[3,8]],"halfWall",true,270);
  302.          addGroup([[4,8]],"spike",true,270);
  303.          addGroup([[4,8]],"halfWall",true,270);
  304.          addGroup([[5,8]],"spike",true,270);
  305.          addGroup([[5,8]],"halfWall",true,270);
  306.          addGroup([[6,8]],"spike",true,270);
  307.          addGroup([[6,8]],"halfWall",true,270);
  308.          addGroup([[5,1]],"key",false);
  309.          addGroup([[7,2]],"door",true,90);
  310.          addGroup([[7,1]],"key",false);
  311.          addGroup([[4,0]],"door",true,90);
  312.          addGroup([[4,-1]],"exit",true,"L0");
  313.          addGroup([[9,4]],"exit",true,"B1");
  314.          setManPosition([[4,1],[7,4]]);
  315.          addGroup([[5,5]],"man",false);
  316.          createRoom(18,18);
  317.          addGroup([[13,9],[15,9],[1,17],[3,17],[5,17]]);
  318.          addGroup(get2DArray([0,0],[0,17]));
  319.          addGroup(get2DArray([8,0],[8,3]));
  320.          addGroup(get2DArray([8,5],[8,9]));
  321.          addGroup(get2DArray([17,9],[17,17]));
  322.          addGroup(get2DArray([1,0],[7,0]));
  323.          addGroup(get2DArray([9,9],[11,9]));
  324.          addGroup(get2DArray([7,17],[12,17]));
  325.          addGroup(get2DArray([14,17],[16,17]));
  326.          addGroup([[4,8],[7,1],[7,7],[3,1],[3,3],[3,6],[7,8],[9,10],[13,10],[8,13],[9,13],[2,15],[6,15],[7,15],[8,15],[9,15],[7,16]]);
  327.          addGroup(get2DArray([1,7],[4,7]));
  328.          addGroup(get2DArray([1,4],[3,4]));
  329.          addGroup(get2DArray([5,2],[5,5]));
  330.          addGroup([[1,15]],"spike",true,270);
  331.          addGroup([[1,15]],"halfWall",true,270);
  332.          addGroup([[2,17]],"spike",true,270);
  333.          addGroup([[2,17]],"halfWall",true,270);
  334.          addGroup([[6,17]],"spike",true,270);
  335.          addGroup([[6,17]],"halfWall",true,270);
  336.          addGroup([[12,9]],"spike",true,90);
  337.          addGroup([[12,9]],"halfWall",true,90);
  338.          addGroup([[14,9]],"spike",true,90);
  339.          addGroup([[14,9]],"halfWall",true,90);
  340.          addGroup([[16,9]],"spike",true,90);
  341.          addGroup([[16,9]],"halfWall",true,90);
  342.          addGroup([[5,8]],"spike",true,180);
  343.          addGroup([[5,8]],"halfWall",true,180);
  344.          addGroup([[9,14],[10,14],[11,14],[12,14],[13,14],[15,14],[15,12],[11,12],[13,12],[9,12],[7,12],[7,10],[14,14],[15,13],[15,11],[14,12],[12,12],[11,11],[10,12],[7,9],[7,11],[7,13],[8,10],[8,12]],"piston",false);
  345.          addGroup([[4,2],[4,3],[4,4],[4,5]],"piston",false);
  346.          addGroup([[8,11]],"key",false);
  347.          addGroup([[9,16]],"door",true);
  348.          addGroup([[8,16]],"key",false);
  349.          addGroup([[8,14]],"door",true);
  350.          addGroup([[6,16]],"key",false);
  351.          addGroup([[4,17]],"door",true,90);
  352.          addGroup([[2,3]],"key",false);
  353.          addGroup([[3,5]],"door",true);
  354.          addGroup([[1,5]],"key",false);
  355.          addGroup([[8,4]],"door",true);
  356.          addGroup([[1,3]],"book",false,3);
  357.          addGroup([[9,4]],"exit",true,"B0");
  358.          addGroup([[4,18]],"exit",true,"R1");
  359.          addGroup([[13,18]],"exit",true,"R2");
  360.          setManPosition([[7,4],[4,16],[13,16]]);
  361.          addGroup([[5,5]],"man",false);
  362.          createRoom(18,18);
  363.          addGroup([[12,0],[14,0],[17,0],[17,1],[17,4]]);
  364.          addGroup(get2DArray([0,0],[0,15]));
  365.          addGroup(get2DArray([17,6],[17,12]));
  366.          addGroup(get2DArray([17,14],[17,17]));
  367.          addGroup(get2DArray([1,0],[3,0]));
  368.          addGroup(get2DArray([5,0],[9,0]));
  369.          addGroup(get2DArray([0,17],[16,17]));
  370.          addGroup([[8,12],[4,14],[4,15],[9,2],[9,5],[9,6],[10,6],[14,6],[15,6],[5,3],[1,6],[6,1]]);
  371.          addGroup([[11,4],[13,3],[14,5],[15,2],[16,4],[12,9],[13,11],[14,14],[2,15],[1,11],[12,15]]);
  372.          addGroup(get2DArray([6,3],[6,8]));
  373.          addGroup(get2DArray([2,8],[5,8]));
  374.          addGroup(get2DArray([14,9],[16,9]));
  375.          addGroup(get2DArray([11,9],[11,16]));
  376.          addGroup(get2DArray([3,11],[8,11]));
  377.          addGroup(get2DArray([12,12],[14,12]));
  378.          addGroup(get2DArray([6,13],[8,13]));
  379.          addGroup(get2DArray([1,13],[4,13]));
  380.          addGroup(get2DArray([4,15],[8,15]));
  381.          addGroup(get2DArray([14,15],[16,15]));
  382.          addGroup([[17,2]],"spike",true,0);
  383.          addGroup([[17,2]],"halfWall",true,0);
  384.          addGroup([[17,3]],"spike",true,0);
  385.          addGroup([[17,3]],"halfWall",true,0);
  386.          addGroup([[17,5]],"spike",true,0);
  387.          addGroup([[17,5]],"halfWall",true,0);
  388.          addGroup([[2,16]],"spike",true,0);
  389.          addGroup([[2,16]],"halfWall",true,0);
  390.          addGroup([[10,0]],"spike",true,90);
  391.          addGroup([[10,0]],"halfWall",true,90);
  392.          addGroup([[11,0]],"spike",true,90);
  393.          addGroup([[11,0]],"halfWall",true,90);
  394.          addGroup([[15,0]],"spike",true,90);
  395.          addGroup([[15,0]],"halfWall",true,90);
  396.          addGroup([[16,0]],"spike",true,90);
  397.          addGroup([[16,0]],"halfWall",true,90);
  398.          addGroup([[9,3]],"spike",true,180);
  399.          addGroup([[9,3]],"halfWall",true,180);
  400.          addGroup([[9,4]],"spike",true,180);
  401.          addGroup([[9,4]],"halfWall",true,180);
  402.          addGroup([[0,16]],"spike",true,180);
  403.          addGroup([[0,16]],"halfWall",true,180);
  404.          addGroup([[11,6]],"spike",true,270);
  405.          addGroup([[11,6]],"halfWall",true,270);
  406.          addGroup([[12,6]],"spike",true,270);
  407.          addGroup([[12,6]],"halfWall",true,270);
  408.          addGroup([[13,6]],"spike",true,270);
  409.          addGroup([[13,6]],"halfWall",true,270);
  410.          addGroup([[7,3],[7,4],[7,5],[7,6],[7,7],[7,8],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8]],"piston",false);
  411.          addGroup([[3,9],[4,9],[5,9],[6,9],[7,9],[8,9],[3,10],[4,10],[5,10],[6,10],[7,10],[8,10]],"piston",false);
  412.          addGroup([[9,7],[10,7],[11,7],[12,7],[13,7],[14,7],[9,8],[10,8],[11,8],[12,8],[13,8],[14,8]],"piston",false);
  413.          addGroup([[9,9],[9,14],[10,9],[10,10],[10,13],[10,14],[9,10],[9,13],[10,11],[10,12]],"piston",false);
  414.          addGroup([[1,1],[1,2],[1,3],[1,4],[2,2],[2,3],[2,4],[3,3],[3,4],[2,1],[3,2]],"piston",false);
  415.          addGroup([[16,16]],"key",false);
  416.          addGroup([[9,1]],"door",true);
  417.          addGroup([[10,5]],"key",false);
  418.          addGroup([[4,0]],"door",true,90);
  419.          addGroup([[9,12]],"key",false);
  420.          addGroup([[17,13]],"door",true);
  421.          addGroup([[1,16]],"book",false,14);
  422.          addGroup([[4,-1]],"exit",true,"L0");
  423.          addGroup([[13,-1]],"exit",true,"L1");
  424.          addGroup([[18,13]],"exit",true,"B2");
  425.          setManPosition([[4,1],[13,1],[16,13]]);
  426.          addGroup([[5,5]],"man",false);
  427.          createRoom(18,9);
  428.          addGroup(get2DArray([0,0],[0,17]));
  429.          addGroup(get2DArray([8,0],[8,17]));
  430.          addGroup(get2DArray([1,17],[3,17]));
  431.          addGroup(get2DArray([5,17],[7,17]));
  432.          addGroup(get2DArray([5,0],[7,0]));
  433.          addGroup([[1,13],[2,0],[3,0],[4,3],[7,2],[7,12],[6,10],[7,5],[7,10],[3,14],[4,14],[7,14],[7,15],[2,16],[7,16],[6,16]]);
  434.          addGroup(get2DArray([2,8],[2,14]));
  435.          addGroup(get2DArray([2,2],[4,2]));
  436.          addGroup([[1,0]],"spike",true,90);
  437.          addGroup([[1,0]],"halfWall",true,90);
  438.          addGroup([[5,2]],"spike",true,90);
  439.          addGroup([[5,2]],"halfWall",true,90);
  440.          addGroup([[6,2]],"spike",true,90);
  441.          addGroup([[6,2]],"halfWall",true,90);
  442.          addGroup([[7,3]],"spike",true,0);
  443.          addGroup([[7,3]],"halfWall",true,0);
  444.          addGroup([[7,6]],"spike",true,0);
  445.          addGroup([[7,6]],"halfWall",true,0);
  446.          addGroup([[7,7]],"spike",true,0);
  447.          addGroup([[7,7]],"halfWall",true,0);
  448.          addGroup([[7,8]],"spike",true,0);
  449.          addGroup([[7,8]],"halfWall",true,0);
  450.          addGroup([[7,9]],"spike",true,0);
  451.          addGroup([[7,9]],"halfWall",true,0);
  452.          addGroup([[7,13]],"spike",true,0);
  453.          addGroup([[7,13]],"halfWall",true,0);
  454.          addGroup([[1,1],[1,3],[1,4],[2,3],[3,3],[1,2]],"piston",false);
  455.          addGroup([[1,7],[1,8],[1,9],[1,10],[2,7]],"piston",false);
  456.          addGroup([[7,1]],"key",false);
  457.          addGroup([[2,15]],"door",true);
  458.          addGroup([[1,14]],"key",false);
  459.          addGroup([[4,0]],"door",true,90);
  460.          addGroup([[4,-1]],"exit",true,"L0");
  461.          addGroup([[4,18]],"exit",true,"R1");
  462.          setManPosition([[5,1],[4,16]]);
  463.          addGroup([[5,5]],"man",false);
  464.          createRoom(9,9);
  465.          addGroup(get2DArray([0,0],[0,3]));
  466.          addGroup(get2DArray([0,5],[0,8]));
  467.          addGroup(get2DArray([8,0],[8,8]));
  468.          addGroup(get2DArray([1,0],[3,0]));
  469.          addGroup(get2DArray([5,0],[7,0]));
  470.          addGroup(get2DArray([1,8],[7,8]));
  471.          addGroup([[1,2],[1,6],[3,2],[4,2],[6,2],[7,2],[4,4],[6,4],[7,4],[6,5],[5,7],[6,7]]);
  472.          addGroup(get2DArray([3,4],[3,6]));
  473.          addGroup([[4,3],[5,3],[6,3]],"piston",false);
  474.          addGroup([[5,4],[5,5],[5,6]],"piston",false);
  475.          addGroup([[7,1]],"key",false);
  476.          addGroup([[3,3]],"door",true);
  477.          addGroup([[7,7]],"key",false);
  478.          addGroup([[5,2]],"door",true,90);
  479.          addGroup([[7,3]],"key",false);
  480.          addGroup([[4,0]],"door",true,90);
  481.          addGroup([[4,-1]],"exit",true,"L0");
  482.          addGroup([[-1,4]],"exit",true,"T1");
  483.          setManPosition([[4,1],[1,4]]);
  484.          addGroup([[5,5]],"man",false);
  485.          createRoom(18,9);
  486.          addGroup(get2DArray([0,0],[0,3]));
  487.          addGroup(get2DArray([0,5],[0,17]));
  488.          addGroup(get2DArray([8,0],[8,3]));
  489.          addGroup(get2DArray([8,5],[8,17]));
  490.          addGroup(get2DArray([1,0],[3,0]));
  491.          addGroup(get2DArray([5,0],[7,0]));
  492.          addGroup(get2DArray([1,17],[7,17]));
  493.          addGroup([[1,6],[5,15],[2,16],[7,12],[4,10],[4,11],[6,6],[6,7],[1,13],[2,13],[2,14],[3,14],[2,1],[2,2],[6,1],[6,2]]);
  494.          addGroup(get2DArray([3,2],[3,8]));
  495.          addGroup(get2DArray([5,2],[5,4]));
  496.          addGroup([[2,8]],"spike",true,0);
  497.          addGroup([[2,8]],"halfWall",true,0);
  498.          addGroup([[4,8]],"spike",true,180);
  499.          addGroup([[4,8]],"halfWall",true,180);
  500.          addGroup([[1,12]],"spike",true,270);
  501.          addGroup([[1,12]],"halfWall",true,270);
  502.          addGroup([[4,0]],"spike",true,90);
  503.          addGroup([[4,0]],"halfWall",true,90);
  504.          addGroup([[7,7]],"spike",true,90);
  505.          addGroup([[7,7]],"halfWall",true,90);
  506.          addGroup([[1,15],[2,15]],"piston",false);
  507.          addGroup([[6,9],[1,9],[2,9],[3,9],[4,9],[5,9],[6,10],[1,10]],"piston",false);
  508.          addGroup([[1,14]],"key",false);
  509.          addGroup([[4,3]],"door",true,90);
  510.          addGroup([[5,1]],"key",false);
  511.          addGroup([[8,4]],"door",true);
  512.          addGroup([[-1,4]],"exit",true,"T0");
  513.          addGroup([[9,4]],"exit",true,"B1");
  514.          setManPosition([[1,4],[7,4]]);
  515.          addGroup([[5,5]],"man",false);
  516.          createRoom(18,18);
  517.          addGroup([[3,17],[17,3],[0,3],[5,0],[17,6],[17,7],[17,15],[14,17],[15,17],[6,0],[8,0],[9,0],[14,0],[15,0],[11,0],[12,0],[0,0],[0,6],[0,7],[0,11],[0,12],[0,14],[0,15],[0,17],[6,17],[10,17],[17,0],[17,12],[11,17],[17,17],[2,0],[3,0]]);
  518.          addGroup([[13,4],[6,2],[4,11],[4,14],[15,4],[2,4],[4,4],[6,4],[11,3],[11,4],[4,12],[4,15],[1,15],[3,15],[16,12],[2,1],[2,3],[2,9],[4,5],[5,12],[8,7],[8,15],[10,3],[10,10],[12,13],[13,5],[15,9],[15,1],[15,3]]);
  519.          addGroup([[0,1]],"spike",true,180);
  520.          addGroup([[0,1]],"halfWall",true,180);
  521.          addGroup([[0,2]],"spike",true,180);
  522.          addGroup([[0,2]],"halfWall",true,180);
  523.          addGroup([[0,4]],"spike",true,180);
  524.          addGroup([[0,4]],"halfWall",true,180);
  525.          addGroup([[0,5]],"spike",true,180);
  526.          addGroup([[0,5]],"halfWall",true,180);
  527.          addGroup([[0,8]],"spike",true,180);
  528.          addGroup([[0,8]],"halfWall",true,180);
  529.          addGroup([[0,9]],"spike",true,180);
  530.          addGroup([[0,9]],"halfWall",true,180);
  531.          addGroup([[0,10]],"spike",true,180);
  532.          addGroup([[0,10]],"halfWall",true,180);
  533.          addGroup([[0,16]],"spike",true,180);
  534.          addGroup([[0,16]],"halfWall",true,180);
  535.          addGroup([[4,13]],"spike",true,180);
  536.          addGroup([[4,13]],"halfWall",true,180);
  537.          addGroup([[6,1]],"spike",true,180);
  538.          addGroup([[6,1]],"halfWall",true,180);
  539.          addGroup([[6,3]],"spike",true,180);
  540.          addGroup([[6,3]],"halfWall",true,180);
  541.          addGroup([[11,1]],"spike",true,0);
  542.          addGroup([[11,1]],"halfWall",true,0);
  543.          addGroup([[11,2]],"spike",true,0);
  544.          addGroup([[11,2]],"halfWall",true,0);
  545.          addGroup([[17,1]],"spike",true,0);
  546.          addGroup([[17,1]],"halfWall",true,0);
  547.          addGroup([[17,2]],"spike",true,0);
  548.          addGroup([[17,2]],"halfWall",true,0);
  549.          addGroup([[17,4]],"spike",true,0);
  550.          addGroup([[17,4]],"halfWall",true,0);
  551.          addGroup([[17,5]],"spike",true,0);
  552.          addGroup([[17,5]],"halfWall",true,0);
  553.          addGroup([[17,8]],"spike",true,0);
  554.          addGroup([[17,8]],"halfWall",true,0);
  555.          addGroup([[17,9]],"spike",true,0);
  556.          addGroup([[17,9]],"halfWall",true,0);
  557.          addGroup([[17,10]],"spike",true,0);
  558.          addGroup([[17,10]],"halfWall",true,0);
  559.          addGroup([[17,11]],"spike",true,0);
  560.          addGroup([[17,11]],"halfWall",true,0);
  561.          addGroup([[17,13]],"spike",true,0);
  562.          addGroup([[17,13]],"halfWall",true,0);
  563.          addGroup([[17,14]],"spike",true,0);
  564.          addGroup([[17,14]],"halfWall",true,0);
  565.          addGroup([[17,16]],"spike",true,0);
  566.          addGroup([[17,16]],"halfWall",true,0);
  567.          addGroup([[1,0]],"spike",true,90);
  568.          addGroup([[1,0]],"halfWall",true,90);
  569.          addGroup([[7,0]],"spike",true,90);
  570.          addGroup([[7,0]],"halfWall",true,90);
  571.          addGroup([[10,0]],"spike",true,90);
  572.          addGroup([[10,0]],"halfWall",true,90);
  573.          addGroup([[16,0]],"spike",true,90);
  574.          addGroup([[16,0]],"halfWall",true,90);
  575.          addGroup([[3,4]],"spike",true,90);
  576.          addGroup([[3,4]],"halfWall",true,90);
  577.          addGroup([[5,4]],"spike",true,90);
  578.          addGroup([[5,4]],"halfWall",true,90);
  579.          addGroup([[12,4]],"spike",true,90);
  580.          addGroup([[12,4]],"halfWall",true,90);
  581.          addGroup([[14,4]],"spike",true,90);
  582.          addGroup([[14,4]],"halfWall",true,90);
  583.          addGroup([[1,11]],"spike",true,270);
  584.          addGroup([[1,11]],"halfWall",true,270);
  585.          addGroup([[2,11]],"spike",true,270);
  586.          addGroup([[2,11]],"halfWall",true,270);
  587.          addGroup([[3,11]],"spike",true,270);
  588.          addGroup([[3,11]],"halfWall",true,270);
  589.          addGroup([[1,17]],"spike",true,270);
  590.          addGroup([[1,17]],"halfWall",true,270);
  591.          addGroup([[2,17]],"spike",true,270);
  592.          addGroup([[2,17]],"halfWall",true,270);
  593.          addGroup([[4,17]],"spike",true,270);
  594.          addGroup([[4,17]],"halfWall",true,270);
  595.          addGroup([[5,17]],"spike",true,270);
  596.          addGroup([[5,17]],"halfWall",true,270);
  597.          addGroup([[7,17]],"spike",true,270);
  598.          addGroup([[7,17]],"halfWall",true,270);
  599.          addGroup([[8,17]],"spike",true,270);
  600.          addGroup([[8,17]],"halfWall",true,270);
  601.          addGroup([[9,17]],"spike",true,270);
  602.          addGroup([[9,17]],"halfWall",true,270);
  603.          addGroup([[12,17]],"spike",true,270);
  604.          addGroup([[12,17]],"halfWall",true,270);
  605.          addGroup([[13,17]],"spike",true,270);
  606.          addGroup([[13,17]],"halfWall",true,270);
  607.          addGroup([[16,17]],"spike",true,270);
  608.          addGroup([[16,17]],"halfWall",true,270);
  609.          addGroup([[7,8],[6,8],[8,8],[7,7],[7,9]],"piston",false);
  610.          addGroup([[5,3]],"key",false);
  611.          addGroup([[13,0]],"door",true,90);
  612.          addGroup([[12,3]],"key",false);
  613.          addGroup([[4,0]],"door",true,90);
  614.          addGroup([[4,-1]],"exit",true,"L0");
  615.          addGroup([[13,-1]],"exit",true,"L1");
  616.          addGroup([[-1,13]],"exit",true,"T2");
  617.          setManPosition([[5,1],[13,1],[1,13]]);
  618.          addGroup([[5,5]],"man",false);
  619.          createRoom(9,9);
  620.          addGroup(get2DArray([0,0],[0,8]));
  621.          addGroup(get2DArray([8,0],[8,3]));
  622.          addGroup(get2DArray([8,5],[8,8]));
  623.          addGroup(get2DArray([1,0],[3,0]));
  624.          addGroup(get2DArray([5,0],[7,0]));
  625.          addGroup(get2DArray([1,8],[3,8]));
  626.          addGroup(get2DArray([5,8],[7,8]));
  627.          addGroup([[1,2]]);
  628.          addGroup([[1,5],[2,5],[3,5],[4,5],[1,6]],"piston",false);
  629.          addGroup([[3,1],[3,2],[3,3],[3,4],[2,1]],"piston",false);
  630.          addGroup([[7,3],[4,3],[5,3],[6,3],[7,2]],"piston",false);
  631.          addGroup([[5,7],[5,4],[5,5],[5,6],[6,7]],"piston",false);
  632.          addGroup([[2,2]],"key",false);
  633.          addGroup([[8,4]],"door",true);
  634.          addGroup([[4,4]],"key",false);
  635.          addGroup([[4,0]],"door",true,90);
  636.          addGroup([[4,-1]],"exit",true,"L0");
  637.          addGroup([[4,9]],"exit",true,"R1");
  638.          addGroup([[9,4]],"exit",true,"B2");
  639.          setManPosition([[4,1],[4,7],[7,4]]);
  640.          addGroup([[5,5]],"man",false);
  641.          createRoom(18,18);
  642.          addGroup([[7,9],[11,17],[12,17]]);
  643.          addGroup(get2DArray([0,9],[0,12]));
  644.          addGroup(get2DArray([0,14],[0,17]));
  645.          addGroup(get2DArray([9,0],[9,8]));
  646.          addGroup(get2DArray([17,0],[17,12]));
  647.          addGroup(get2DArray([17,14],[17,17]));
  648.          addGroup(get2DArray([1,9],[3,9]));
  649.          addGroup(get2DArray([9,0],[16,0]));
  650.          addGroup(get2DArray([3,17],[4,17]));
  651.          addGroup(get2DArray([14,17],[16,17]));
  652.          addGroup([[1,14],[3,11],[11,4],[16,11],[16,15],[2,14],[5,13],[13,13],[3,15],[7,15],[14,15],[14,16],[9,13],[11,10],[12,7]]);
  653.          addGroup(get2DArray([10,11],[14,11]));
  654.          addGroup(get2DArray([13,2],[13,7]));
  655.          addGroup(get2DArray([11,6],[11,8]));
  656.          addGroup([[7,10]],"spike",true,0);
  657.          addGroup([[7,10]],"halfWall",true,0);
  658.          addGroup([[7,11]],"spike",true,0);
  659.          addGroup([[7,11]],"halfWall",true,0);
  660.          addGroup([[7,12]],"spike",true,0);
  661.          addGroup([[7,12]],"halfWall",true,0);
  662.          addGroup([[11,9]],"spike",true,0);
  663.          addGroup([[11,9]],"halfWall",true,0);
  664.          addGroup([[11,12]],"spike",true,0);
  665.          addGroup([[11,12]],"halfWall",true,0);
  666.          addGroup([[11,13]],"spike",true,0);
  667.          addGroup([[11,13]],"halfWall",true,0);
  668.          addGroup([[11,14]],"spike",true,0);
  669.          addGroup([[11,14]],"halfWall",true,0);
  670.          addGroup([[11,15]],"spike",true,0);
  671.          addGroup([[11,15]],"halfWall",true,0);
  672.          addGroup([[11,16]],"spike",true,0);
  673.          addGroup([[11,16]],"halfWall",true,0);
  674.          addGroup([[4,9]],"spike",true,90);
  675.          addGroup([[4,9]],"halfWall",true,90);
  676.          addGroup([[5,9]],"spike",true,90);
  677.          addGroup([[5,9]],"halfWall",true,90);
  678.          addGroup([[6,9]],"spike",true,90);
  679.          addGroup([[6,9]],"halfWall",true,90);
  680.          addGroup([[8,9]],"spike",true,90);
  681.          addGroup([[8,9]],"halfWall",true,90);
  682.          addGroup([[9,9]],"spike",true,90);
  683.          addGroup([[9,9]],"halfWall",true,90);
  684.          addGroup([[3,10]],"spike",true,180);
  685.          addGroup([[3,10]],"halfWall",true,180);
  686.          addGroup([[3,14]],"spike",true,180);
  687.          addGroup([[3,14]],"halfWall",true,180);
  688.          addGroup([[1,17]],"spike",true,270);
  689.          addGroup([[1,17]],"halfWall",true,270);
  690.          addGroup([[2,17]],"spike",true,270);
  691.          addGroup([[2,17]],"halfWall",true,270);
  692.          addGroup([[5,17]],"spike",true,270);
  693.          addGroup([[5,17]],"halfWall",true,270);
  694.          addGroup([[6,17]],"spike",true,270);
  695.          addGroup([[6,17]],"halfWall",true,270);
  696.          addGroup([[7,17]],"spike",true,270);
  697.          addGroup([[7,17]],"halfWall",true,270);
  698.          addGroup([[8,17]],"spike",true,270);
  699.          addGroup([[8,17]],"halfWall",true,270);
  700.          addGroup([[9,17]],"spike",true,270);
  701.          addGroup([[9,17]],"halfWall",true,270);
  702.          addGroup([[10,17]],"spike",true,270);
  703.          addGroup([[10,17]],"halfWall",true,270);
  704.          addGroup([[10,1],[11,1],[12,1]],"piston",false);
  705.          addGroup([[10,2],[11,2],[12,2]],"piston",false);
  706.          addGroup([[10,3],[11,3],[12,3]],"piston",false);
  707.          addGroup([[13,14],[15,14],[15,12],[14,14],[15,13]],"piston",false);
  708.          addGroup([[2,15]],"key",false);
  709.          addGroup([[10,8]],"door",true,90);
  710.          addGroup([[12,6]],"key",false);
  711.          addGroup([[13,1]],"door",true);
  712.          addGroup([[-1,13]],"exit",true,"T0");
  713.          addGroup([[18,13]],"exit",true,"B1");
  714.          addGroup([[13,18]],"exit",true,"R2");
  715.          setManPosition([[1,13],[16,13],[13,16]]);
  716.          addGroup([[14,14]],"man",false);
  717.          createRoom(9,9);
  718.          addGroup([[0,0],[0,2],[0,3],[0,5],[8,8],[2,0],[3,0],[5,0],[6,0]]);
  719.          addGroup(get2DArray([8,0],[8,6]));
  720.          addGroup(get2DArray([0,8],[2,8]));
  721.          addGroup(get2DArray([4,8],[6,8]));
  722.          addGroup([[2,7]]);
  723.          addGroup([[8,7]],"spike",true,0);
  724.          addGroup([[8,7]],"halfWall",true,0);
  725.          addGroup([[1,0]],"spike",true,90);
  726.          addGroup([[1,0]],"halfWall",true,90);
  727.          addGroup([[7,0]],"spike",true,90);
  728.          addGroup([[7,0]],"halfWall",true,90);
  729.          addGroup([[0,1]],"spike",true,180);
  730.          addGroup([[0,1]],"halfWall",true,180);
  731.          addGroup([[0,6]],"spike",true,180);
  732.          addGroup([[0,6]],"halfWall",true,180);
  733.          addGroup([[0,7]],"spike",true,180);
  734.          addGroup([[0,7]],"halfWall",true,180);
  735.          addGroup([[3,8]],"spike",true,270);
  736.          addGroup([[3,8]],"halfWall",true,270);
  737.          addGroup([[7,8]],"spike",true,270);
  738.          addGroup([[7,8]],"halfWall",true,270);
  739.          addGroup([[2,2],[1,2],[3,2],[2,1],[2,3]],"piston",false);
  740.          addGroup([[3,6],[3,5],[3,7],[4,6],[2,6]],"piston",false);
  741.          addGroup([[6,4],[6,3],[6,5],[5,4],[7,4]],"piston",false);
  742.          addGroup([[4,-1]],"exit",true,"L0");
  743.          addGroup([[-1,4]],"exit",true,"T1");
  744.          setManPosition([[4,1],[1,4]]);
  745.          addGroup([[5,5]],"man",false);
  746.          createRoom(18,18);
  747.          addGroup([[17,6]]);
  748.          addGroup(get2DArray([0,9],[0,12]));
  749.          addGroup(get2DArray([0,14],[0,17]));
  750.          addGroup(get2DArray([9,0],[9,9]));
  751.          addGroup(get2DArray([17,0],[17,2]));
  752.          addGroup(get2DArray([17,10],[17,12]));
  753.          addGroup(get2DArray([17,14],[17,17]));
  754.          addGroup(get2DArray([1,9],[8,9]));
  755.          addGroup(get2DArray([9,0],[12,0]));
  756.          addGroup(get2DArray([14,0],[16,0]));
  757.          addGroup(get2DArray([1,17],[16,17]));
  758.          addGroup([[13,12],[1,14],[2,14],[3,10],[3,11],[2,13],[3,13],[7,12],[9,12],[9,13],[11,12],[10,7],[10,8],[12,3],[12,6],[12,7]]);
  759.          addGroup([[16,2],[14,4],[15,4],[15,6],[16,6],[14,8],[11,1],[14,1],[14,12],[15,10],[16,10],[16,12],[16,15]]);
  760.          addGroup(get2DArray([11,3],[14,3]));
  761.          addGroup([[14,14]],"spike",true,0);
  762.          addGroup([[14,14]],"halfWall",true,0);
  763.          addGroup([[14,15]],"spike",true,0);
  764.          addGroup([[14,15]],"halfWall",true,0);
  765.          addGroup([[14,16]],"spike",true,0);
  766.          addGroup([[14,16]],"halfWall",true,0);
  767.          addGroup([[17,3]],"spike",true,0);
  768.          addGroup([[17,3]],"halfWall",true,0);
  769.          addGroup([[17,4]],"spike",true,0);
  770.          addGroup([[17,4]],"halfWall",true,0);
  771.          addGroup([[17,5]],"spike",true,0);
  772.          addGroup([[17,5]],"halfWall",true,0);
  773.          addGroup([[17,7]],"spike",true,0);
  774.          addGroup([[17,7]],"halfWall",true,0);
  775.          addGroup([[17,8]],"spike",true,0);
  776.          addGroup([[17,8]],"halfWall",true,0);
  777.          addGroup([[17,9]],"spike",true,0);
  778.          addGroup([[17,9]],"halfWall",true,0);
  779.          addGroup([[5,12]],"spike",true,90);
  780.          addGroup([[5,12]],"halfWall",true,90);
  781.          addGroup([[7,13]],"spike",true,90);
  782.          addGroup([[7,13]],"halfWall",true,90);
  783.          addGroup([[9,14]],"spike",true,90);
  784.          addGroup([[9,14]],"halfWall",true,90);
  785.          addGroup([[11,13]],"spike",true,90);
  786.          addGroup([[11,13]],"halfWall",true,90);
  787.          addGroup([[4,15]],"spike",true,180);
  788.          addGroup([[4,15]],"halfWall",true,180);
  789.          addGroup([[4,16]],"spike",true,180);
  790.          addGroup([[4,16]],"halfWall",true,180);
  791.          addGroup([[11,6],[11,4],[13,4],[13,5],[13,6],[13,7],[13,9],[12,9],[11,5],[12,4],[13,8]],"piston",false);
  792.          addGroup([[11,8],[12,8],[11,9],[10,9]],"piston",false);
  793.          addGroup([[4,10],[6,10],[8,10],[10,10],[12,10],[13,10],[4,11],[6,11],[6,12],[8,11],[8,12],[8,13],[10,11],[10,12],[10,13],[12,11],[12,12],[5,10],[7,10],[9,10],[11,10]],"piston",false);
  794.          addGroup([[13,11]],"key",false);
  795.          addGroup([[11,2]],"door",true);
  796.          addGroup([[10,1]],"key",false);
  797.          addGroup([[11,7]],"door",true,90);
  798.          addGroup([[13,-1]],"exit",true,"L0");
  799.          addGroup([[-1,13]],"exit",true,"T1");
  800.          addGroup([[18,13]],"exit",true,"B2");
  801.          setManPosition([[13,1],[1,12],[16,13]]);
  802.          addGroup([[14,14]],"man",false);
  803.          createRoom(9,9);
  804.          addGroup(get2DArray([0,0],[0,3]));
  805.          addGroup(get2DArray([0,5],[0,8]));
  806.          addGroup(get2DArray([8,0],[8,8]));
  807.          addGroup(get2DArray([1,0],[7,0]));
  808.          addGroup(get2DArray([1,8],[3,8]));
  809.          addGroup(get2DArray([5,8],[7,8]));
  810.          addGroup([[2,2],[4,5],[6,3],[6,4],[6,6],[6,7]]);
  811.          addGroup(get2DArray([2,4],[4,4]));
  812.          addGroup(get2DArray([2,5],[2,7]));
  813.          addGroup(get2DArray([4,2],[6,2]));
  814.          addGroup([[1,3]],"key",false);
  815.          addGroup([[1,2]],"door",true,90);
  816.          addGroup([[1,1]],"key",false);
  817.          addGroup([[2,1]],"door",true);
  818.          addGroup([[3,1]],"key",false);
  819.          addGroup([[5,1]],"door",true);
  820.          addGroup([[6,1]],"key",false);
  821.          addGroup([[1,6]],"door",true,90);
  822.          addGroup([[7,2]],"key",false);
  823.          addGroup([[3,2]],"door",true,90);
  824.          addGroup([[1,7]],"key",false);
  825.          addGroup([[7,3]],"door",true,90);
  826.          addGroup([[7,4]],"key",false);
  827.          addGroup([[7,6]],"door",true,90);
  828.          addGroup([[7,7]],"key",false);
  829.          addGroup([[6,5]],"door",true);
  830.          addGroup([[3,5]],"key",false);
  831.          addGroup([[5,4]],"door",true,90);
  832.          addGroup([[5,3]],"key",false);
  833.          addGroup([[4,3]],"door",true);
  834.          addGroup([[3,3]],"key",false);
  835.          addGroup([[2,3]],"door",true);
  836.          addGroup([[-1,4]],"exit",true,"T0");
  837.          addGroup([[4,9]],"exit",true,"R1");
  838.          setManPosition([[1,4],[4,7]]);
  839.          addGroup([[5,5]],"man",false);
  840.          createRoom(18,18);
  841.          addGroup([[17,5],[0,7],[0,8],[0,11],[0,12],[1,0],[9,0],[11,0],[12,0]]);
  842.          addGroup(get2DArray([0,0],[0,2]));
  843.          addGroup(get2DArray([0,14],[0,17]));
  844.          addGroup(get2DArray([17,0],[17,2]));
  845.          addGroup(get2DArray([17,9],[17,17]));
  846.          addGroup(get2DArray([14,0],[16,0]));
  847.          addGroup(get2DArray([1,17],[16,17]));
  848.          addGroup([[8,8]]);
  849.          addGroup([[11,1],[2,8],[15,1],[11,2],[15,7],[16,9],[14,12],[13,13],[12,14],[11,16],[14,11],[16,11],[2,2],[2,4]]);
  850.          addGroup([[5,0],[5,14],[5,16],[14,5],[14,7],[14,9],[3,2],[1,11],[2,11],[1,15],[7,15],[16,1],[16,5],[5,2],[9,2]]);
  851.          addGroup(get2DArray([11,3],[15,3]));
  852.          addGroup(get2DArray([10,14],[10,16]));
  853.          addGroup(get2DArray([3,13],[3,15]));
  854.          addGroup([[2,6]],"spike",true,0);
  855.          addGroup([[2,6]],"halfWall",true,0);
  856.          addGroup([[2,7]],"spike",true,0);
  857.          addGroup([[2,7]],"halfWall",true,0);
  858.          addGroup([[17,3]],"spike",true,0);
  859.          addGroup([[17,3]],"halfWall",true,0);
  860.          addGroup([[17,4]],"spike",true,0);
  861.          addGroup([[17,4]],"halfWall",true,0);
  862.          addGroup([[17,6]],"spike",true,0);
  863.          addGroup([[17,6]],"halfWall",true,0);
  864.          addGroup([[17,7]],"spike",true,0);
  865.          addGroup([[17,7]],"halfWall",true,0);
  866.          addGroup([[17,8]],"spike",true,0);
  867.          addGroup([[17,8]],"halfWall",true,0);
  868.          addGroup([[14,4]],"spike",true,0);
  869.          addGroup([[14,4]],"halfWall",true,0);
  870.          addGroup([[14,6]],"spike",true,180);
  871.          addGroup([[14,6]],"halfWall",true,180);
  872.          addGroup([[14,8]],"spike",true,180);
  873.          addGroup([[14,8]],"halfWall",true,180);
  874.          addGroup([[2,3]],"spike",true,180);
  875.          addGroup([[2,3]],"halfWall",true,180);
  876.          addGroup([[0,3]],"spike",true,180);
  877.          addGroup([[0,3]],"halfWall",true,180);
  878.          addGroup([[0,4]],"spike",true,180);
  879.          addGroup([[0,4]],"halfWall",true,180);
  880.          addGroup([[0,5]],"spike",true,180);
  881.          addGroup([[0,5]],"halfWall",true,180);
  882.          addGroup([[0,6]],"spike",true,180);
  883.          addGroup([[0,6]],"halfWall",true,180);
  884.          addGroup([[0,9]],"spike",true,180);
  885.          addGroup([[0,9]],"halfWall",true,180);
  886.          addGroup([[0,10]],"spike",true,180);
  887.          addGroup([[0,10]],"halfWall",true,180);
  888.          addGroup([[2,0]],"spike",true,90);
  889.          addGroup([[2,0]],"halfWall",true,90);
  890.          addGroup([[3,0]],"spike",true,90);
  891.          addGroup([[3,0]],"halfWall",true,90);
  892.          addGroup([[4,0]],"spike",true,90);
  893.          addGroup([[4,0]],"halfWall",true,90);
  894.          addGroup([[6,0]],"spike",true,90);
  895.          addGroup([[6,0]],"halfWall",true,90);
  896.          addGroup([[7,0]],"spike",true,90);
  897.          addGroup([[7,0]],"halfWall",true,90);
  898.          addGroup([[8,0]],"spike",true,90);
  899.          addGroup([[8,0]],"halfWall",true,90);
  900.          addGroup([[10,0]],"spike",true,90);
  901.          addGroup([[10,0]],"halfWall",true,90);
  902.          addGroup([[6,2]],"spike",true,90);
  903.          addGroup([[6,2]],"halfWall",true,90);
  904.          addGroup([[7,2]],"spike",true,90);
  905.          addGroup([[7,2]],"halfWall",true,90);
  906.          addGroup([[8,2]],"spike",true,90);
  907.          addGroup([[8,2]],"halfWall",true,90);
  908.          addGroup([[9,3]],"spike",true,90);
  909.          addGroup([[9,3]],"halfWall",true,90);
  910.          addGroup([[10,3]],"spike",true,90);
  911.          addGroup([[10,3]],"halfWall",true,90);
  912.          addGroup([[3,4]],"spike",true,180);
  913.          addGroup([[3,4]],"halfWall",true,180);
  914.          addGroup([[3,5]],"spike",true,180);
  915.          addGroup([[3,5]],"halfWall",true,180);
  916.          addGroup([[3,6]],"spike",true,180);
  917.          addGroup([[3,6]],"halfWall",true,180);
  918.          addGroup([[3,8]],"spike",true,180);
  919.          addGroup([[3,8]],"halfWall",true,180);
  920.          addGroup([[3,9]],"spike",true,180);
  921.          addGroup([[3,9]],"halfWall",true,180);
  922.          addGroup([[3,10]],"spike",true,180);
  923.          addGroup([[3,10]],"halfWall",true,180);
  924.          addGroup([[3,11]],"spike",true,180);
  925.          addGroup([[3,11]],"halfWall",true,180);
  926.          addGroup([[3,12]],"spike",true,180);
  927.          addGroup([[3,12]],"halfWall",true,180);
  928.          addGroup([[11,4]],"spike",true,0);
  929.          addGroup([[11,4]],"halfWall",true,0);
  930.          addGroup([[11,5]],"spike",true,90);
  931.          addGroup([[11,5]],"halfWall",true,90);
  932.          addGroup([[12,5]],"spike",true,90);
  933.          addGroup([[12,5]],"halfWall",true,90);
  934.          addGroup([[15,11]],"spike",true,270);
  935.          addGroup([[15,11]],"halfWall",true,270);
  936.          addGroup([[4,13]],"spike",true,270);
  937.          addGroup([[4,13]],"halfWall",true,270);
  938.          addGroup([[5,13]],"spike",true,270);
  939.          addGroup([[5,13]],"halfWall",true,270);
  940.          addGroup([[6,14]],"spike",true,270);
  941.          addGroup([[6,14]],"halfWall",true,270);
  942.          addGroup([[7,14]],"spike",true,270);
  943.          addGroup([[7,14]],"halfWall",true,270);
  944.          addGroup([[8,14]],"spike",true,270);
  945.          addGroup([[8,14]],"halfWall",true,270);
  946.          addGroup([[12,13]],"spike",true,270);
  947.          addGroup([[12,13]],"halfWall",true,270);
  948.          addGroup([[13,7]],"spike",true,0);
  949.          addGroup([[13,7]],"halfWall",true,0);
  950.          addGroup([[13,12]],"spike",true,0);
  951.          addGroup([[13,12]],"halfWall",true,0);
  952.          addGroup([[7,7],[9,7],[9,6],[10,8],[12,8],[12,10],[13,10],[12,12],[8,9],[7,8],[12,9],[12,11],[9,10],[10,12],[11,12],[10,13],[8,10],[9,11],[8,7],[11,8],[10,7],[10,10],[7,9],[9,12]],"piston",false);
  953.          addGroup([[14,15],[14,16],[15,15],[15,16],[16,15],[16,16]],"piston",false);
  954.          addGroup([[12,4]],"key",false);
  955.          addGroup([[4,2]],"door",true,90);
  956.          addGroup([[2,10]],"key",false);
  957.          addGroup([[11,14]],"door",true,90);
  958.          addGroup([[16,12]],"book",false,6);
  959.          addGroup([[13,-1]],"exit",true,"L0");
  960.          addGroup([[-1,13]],"exit",true,"T1");
  961.          setManPosition([[13,1],[1,13]]);
  962.          addGroup([[5,5]],"man",false);
  963.          createRoom(18,18);
  964.          addGroup(get2DArray([0,0],[0,15]));
  965.          addGroup(get2DArray([17,0],[17,17]));
  966.          addGroup(get2DArray([1,0],[12,0]));
  967.          addGroup(get2DArray([14,0],[16,0]));
  968.          addGroup(get2DArray([0,17],[3,17]));
  969.          addGroup(get2DArray([5,17],[16,17]));
  970.          addGroup([[1,4],[1,5],[1,9]]);
  971.          addGroup([[2,2],[2,4],[2,7],[2,11],[2,13],[2,15]]);
  972.          addGroup([[3,2],[3,6],[3,7],[3,8],[3,10],[3,11],[3,15],[3,16]]);
  973.          addGroup([[4,2],[4,3],[4,4],[4,5],[4,6],[4,8],[4,11],[4,12],[4,13]]);
  974.          addGroup([[5,2],[5,4],[5,8],[5,9],[5,11],[5,13],[5,14],[5,15],[5,16]]);
  975.          addGroup([[6,4],[6,6],[6,11],[6,15]]);
  976.          addGroup([[7,1],[7,2],[7,4],[7,6],[7,7],[7,8],[7,9],[7,10],[7,11],[7,13],[7,15]]);
  977.          addGroup([[8,2],[8,4],[8,8],[8,13]]);
  978.          addGroup([[9,4],[9,5],[9,6],[9,8],[9,10],[9,11],[9,12],[9,13],[9,14],[9,16]]);
  979.          addGroup([[10,2],[10,4],[10,6],[10,10],[10,12]]);
  980.          addGroup([[11,6],[11,8],[11,10],[11,14],[11,15]]);
  981.          addGroup([[12,1],[12,2],[12,3],[12,4],[12,8],[12,12],[12,13],[12,14]]);
  982.          addGroup([[13,4],[13,5],[13,6],[13,7],[13,8],[13,10],[13,11],[13,12],[13,16]]);
  983.          addGroup([[14,1],[14,2],[14,4],[14,8],[14,9],[14,10],[14,12],[14,14]]);
  984.          addGroup([[15,4],[15,6],[15,8],[15,12],[15,13],[15,14],[15,15]]);
  985.          addGroup([[16,2],[16,6],[16,10]]);
  986.          addGroup([[0,16]],"spike",true,180);
  987.          addGroup([[0,16]],"halfWall",true,180);
  988.          addGroup([[1,13]],"spike",true,90);
  989.          addGroup([[1,13]],"halfWall",true,90);
  990.          addGroup([[7,3]],"spike",true,0);
  991.          addGroup([[7,3]],"halfWall",true,0);
  992.          addGroup([[10,3]],"spike",true,0);
  993.          addGroup([[10,3]],"halfWall",true,0);
  994.          addGroup([[11,9]],"spike",true,180);
  995.          addGroup([[11,9]],"halfWall",true,180);
  996.          addGroup([[13,9]],"key",false);
  997.          addGroup([[13,2]],"door",true,90);
  998.          addGroup([[8,3]],"key",false);
  999.          addGroup([[1,2]],"door",true,90);
  1000.          addGroup([[5,3]],"key",false);
  1001.          addGroup([[13,0]],"door",true,90);
  1002.          addGroup([[2,16]],"wind",false);
  1003.          addGroup([[1,16]],"book",false,7);
  1004.          addGroup([[13,-1]],"exit",true,"L0");
  1005.          addGroup([[4,18]],"exit",true,"R1");
  1006.          setManPosition([[13,1],[4,16]]);
  1007.          addGroup([[5,5]],"man",false);
  1008.          createRoom(9,9);
  1009.          addGroup(get2DArray([0,0],[0,8]));
  1010.          addGroup(get2DArray([8,0],[8,8]));
  1011.          addGroup(get2DArray([1,0],[3,0]));
  1012.          addGroup(get2DArray([5,0],[7,0]));
  1013.          addGroup(get2DArray([1,8],[3,8]));
  1014.          addGroup(get2DArray([5,8],[7,8]));
  1015.          addGroup([[7,2],[1,7],[7,6],[2,2]]);
  1016.          addGroup(get2DArray([5,4],[7,4]));
  1017.          addGroup([[1,2]],"spike",true,90);
  1018.          addGroup([[1,2]],"halfWall",true,90);
  1019.          addGroup([[6,3],[5,3],[4,3],[3,3]],"piston",false);
  1020.          addGroup([[3,4],[2,4],[1,4]],"piston",false);
  1021.          addGroup([[4,5],[3,5],[2,5],[1,5]],"piston",false);
  1022.          addGroup([[2,6],[1,6]],"piston",false);
  1023.          addGroup([[4,-1]],"exit",true,"L0");
  1024.          addGroup([[4,9]],"exit",true,"R1");
  1025.          setManPosition([[4,1],[4,7]]);
  1026.          addGroup([[5,5]],"man",false);
  1027.          createRoom(18,18);
  1028.          addGroup(get2DArray([0,0],[0,3]));
  1029.          addGroup(get2DArray([0,5],[0,17]));
  1030.          addGroup(get2DArray([17,0],[17,3]));
  1031.          addGroup(get2DArray([17,5],[17,17]));
  1032.          addGroup(get2DArray([1,0],[16,0]));
  1033.          addGroup(get2DArray([1,17],[3,17]));
  1034.          addGroup(get2DArray([5,17],[16,17]));
  1035.          addGroup([[1,12],[2,15],[6,16],[5,12],[3,13],[12,16],[11,1],[11,2],[12,2],[12,4],[13,4],[15,2]]);
  1036.          addGroup([[1,2],[1,6],[3,6],[3,7],[5,3],[5,5],[12,12],[14,10],[13,14],[14,16],[16,13]]);
  1037.          addGroup(get2DArray([6,1],[6,3]));
  1038.          addGroup(get2DArray([6,5],[6,8]));
  1039.          addGroup(get2DArray([1,8],[5,8]));
  1040.          addGroup(get2DArray([1,11],[3,11]));
  1041.          addGroup(get2DArray([5,11],[8,11]));
  1042.          addGroup(get2DArray([8,12],[8,16]));
  1043.          addGroup(get2DArray([11,9],[11,12]));
  1044.          addGroup(get2DArray([11,14],[11,16]));
  1045.          addGroup(get2DArray([12,9],[16,9]));
  1046.          addGroup(get2DArray([9,1],[9,6]));
  1047.          addGroup(get2DArray([10,6],[12,6]));
  1048.          addGroup(get2DArray([14,6],[16,6]));
  1049.          addGroup(get2DArray([14,2],[14,5]));
  1050.          addGroup(get2DArray([3,1],[3,4]));
  1051.          addGroup(get2DArray([2,14],[6,14]));
  1052.          addGroup(get2DArray([14,12],[14,14]));
  1053.          addGroup([[7,3],[8,3],[8,4],[8,5],[8,6],[8,7],[8,8],[7,4]],"piston",false);
  1054.          addGroup([[14,7],[9,8],[10,8],[11,8],[13,8],[13,7],[14,8],[12,8]],"piston",false);
  1055.          addGroup([[3,9],[4,9],[5,9],[6,9],[7,9],[8,9],[3,10],[4,10]],"piston",false);
  1056.          addGroup([[9,9],[9,10],[9,11],[9,14],[10,14],[9,13],[10,13],[9,12]],"piston",false);
  1057.          addGroup([[15,11],[15,12],[15,13],[15,14],[15,15]],"piston",false);
  1058.          addGroup([[16,12]],"key",false);
  1059.          addGroup([[0,4]],"door",true);
  1060.          addGroup([[16,14]],"key",false);
  1061.          addGroup([[5,4]],"door",true);
  1062.          addGroup([[5,2]],"key",false);
  1063.          addGroup([[17,4]],"door",true);
  1064.          addGroup([[-1,4]],"exit",true,"T0");
  1065.          addGroup([[4,18]],"exit",true,"R1");
  1066.          addGroup([[18,4]],"exit",true,"B2");
  1067.          setManPosition([[1,4],[4,16],[16,4]]);
  1068.          addGroup([[5,5]],"man",false);
  1069.          createRoom(9,9);
  1070.          addGroup(get2DArray([0,2],[0,8]));
  1071.          addGroup(get2DArray([8,0],[8,3]));
  1072.          addGroup(get2DArray([8,5],[8,8]));
  1073.          addGroup(get2DArray([0,0],[7,0]));
  1074.          addGroup(get2DArray([1,8],[7,8]));
  1075.          addGroup([[2,2],[3,2],[3,3],[4,5],[7,6]]);
  1076.          addGroup(get2DArray([2,6],[4,6]));
  1077.          addGroup(get2DArray([5,2],[7,2]));
  1078.          addGroup(get2DArray([5,3],[5,5]));
  1079.          addGroup([[0,1]],"spike",true,180);
  1080.          addGroup([[0,1]],"halfWall",true,180);
  1081.          addGroup([[3,1]],"spike",true,180);
  1082.          addGroup([[3,1]],"halfWall",true,180);
  1083.          addGroup([[2,4],[2,5],[3,4],[3,5]],"piston",false);
  1084.          addGroup([[5,1]],"key",false);
  1085.          addGroup([[1,2]],"door",true,90);
  1086.          addGroup([[2,1]],"book",false,12);
  1087.          addGroup([[9,4]],"exit",true,"B0");
  1088.          setManPosition([[7,4]]);
  1089.          addGroup([[5,5]],"man",false);
  1090.          createRoom(18,9);
  1091.          addGroup(get2DArray([0,0],[0,12]));
  1092.          addGroup(get2DArray([0,14],[0,17]));
  1093.          addGroup(get2DArray([8,0],[8,17]));
  1094.          addGroup(get2DArray([1,0],[3,0]));
  1095.          addGroup(get2DArray([5,0],[7,0]));
  1096.          addGroup(get2DArray([1,17],[3,17]));
  1097.          addGroup(get2DArray([5,17],[7,17]));
  1098.          addGroup([[7,7],[1,7],[2,1],[4,2],[6,1],[1,9],[2,9],[4,12],[4,13],[7,11]]);
  1099.          addGroup([[5,16],[3,13],[3,14],[2,14],[2,16]]);
  1100.          addGroup(get2DArray([2,3],[7,3]));
  1101.          addGroup(get2DArray([1,5],[2,5]));
  1102.          addGroup(get2DArray([4,5],[7,5]));
  1103.          addGroup(get2DArray([3,7],[5,7]));
  1104.          addGroup(get2DArray([5,9],[7,9]));
  1105.          addGroup(get2DArray([1,11],[5,11]));
  1106.          addGroup(get2DArray([6,13],[6,16]));
  1107.          addGroup([[5,4],[6,4],[7,4]],"piston",false);
  1108.          addGroup([[2,6],[3,6],[4,6],[5,6]],"piston",false);
  1109.          addGroup([[4,8],[5,8],[6,8],[7,8]],"piston",false);
  1110.          addGroup([[5,10],[6,10],[7,10]],"piston",false);
  1111.          addGroup([[6,6],[6,7]],"piston",false);
  1112.          addGroup([[3,12]],"key",false);
  1113.          addGroup([[4,17]],"door",true,90);
  1114.          addGroup([[4,-1]],"exit",true,"L0");
  1115.          addGroup([[-1,13]],"exit",true,"T1");
  1116.          addGroup([[4,18]],"exit",true,"R2");
  1117.          setManPosition([[4,1],[1,14],[4,16]]);
  1118.          addGroup([[5,5]],"man",false);
  1119.          createRoom(9,18);
  1120.          addGroup([[14,8]]);
  1121.          addGroup(get2DArray([0,0],[0,8]));
  1122.          addGroup(get2DArray([17,0],[17,3]));
  1123.          addGroup(get2DArray([17,5],[17,8]));
  1124.          addGroup(get2DArray([1,0],[12,0]));
  1125.          addGroup(get2DArray([14,0],[16,0]));
  1126.          addGroup(get2DArray([1,8],[12,8]));
  1127.          addGroup([[12,1],[12,3],[12,7],[7,3],[9,3],[3,3],[3,5],[4,5],[14,3],[14,4],[15,1],[15,3],[14,6]]);
  1128.          addGroup(get2DArray([12,5],[16,5]));
  1129.          addGroup(get2DArray([7,5],[9,5]));
  1130.          addGroup(get2DArray([5,3],[5,5]));
  1131.          addGroup([[7,4]],"spike",true,180);
  1132.          addGroup([[7,4]],"halfWall",true,180);
  1133.          addGroup([[9,4]],"spike",true,0);
  1134.          addGroup([[9,4]],"halfWall",true,0);
  1135.          addGroup([[17,4]],"spike",true,0);
  1136.          addGroup([[17,4]],"halfWall",true,0);
  1137.          addGroup([[15,8]],"spike",true,270);
  1138.          addGroup([[15,8]],"halfWall",true,270);
  1139.          addGroup([[16,8]],"spike",true,270);
  1140.          addGroup([[16,8]],"halfWall",true,270);
  1141.          addGroup([[1,2],[2,2],[1,3],[1,4],[1,5],[1,7],[1,6],[2,7],[3,7],[4,7],[6,7],[5,7],[7,7],[8,7],[10,7],[9,7],[10,6],[10,2],[10,4],[10,3],[10,5],[11,4],[9,2],[8,2],[7,2],[6,2],[5,2],[4,2],[6,6]],"piston",false);
  1142.          addGroup([[16,6]],"key",false);
  1143.          addGroup([[12,2]],"door",true);
  1144.          addGroup([[15,4]],"key",false);
  1145.          addGroup([[8,3]],"door",true,90);
  1146.          addGroup([[8,4]],"key",false);
  1147.          addGroup([[13,8]],"door",true,90);
  1148.          addGroup([[13,-1]],"exit",true,"L0");
  1149.          addGroup([[13,9]],"exit",true,"R1");
  1150.          setManPosition([[13,1],[14,7]]);
  1151.          addGroup([[5,5]],"man",false);
  1152.          createRoom(18,9);
  1153.          addGroup(get2DArray([0,0],[0,12]));
  1154.          addGroup(get2DArray([0,14],[0,17]));
  1155.          addGroup(get2DArray([8,0],[8,3]));
  1156.          addGroup(get2DArray([8,5],[8,17]));
  1157.          addGroup(get2DArray([1,0],[7,0]));
  1158.          addGroup(get2DArray([1,17],[7,17]));
  1159.          addGroup([[3,5],[2,15],[2,16],[3,15],[5,15],[6,15],[6,16],[5,13],[6,13],[6,12],[7,12]]);
  1160.          addGroup([[2,7],[2,9],[2,10],[1,9],[1,10],[2,8]],"piston",false);
  1161.          addGroup([[3,7],[3,8],[3,9],[3,10],[4,7]],"piston",false);
  1162.          addGroup([[1,5],[1,6],[2,6],[3,6],[2,5]],"piston",false);
  1163.          addGroup([[1,11],[1,12],[2,11],[4,11],[4,10],[4,8],[5,8],[7,8],[7,7],[3,11],[4,9],[6,8]],"piston",false);
  1164.          addGroup([[7,16]],"key",false);
  1165.          addGroup([[8,4]],"door",true);
  1166.          addGroup([[7,1]],"key",true);
  1167.          addGroup([[4,15]],"door",true,90);
  1168.          addGroup([[5,16]],"book",false,13);
  1169.          addGroup([[9,4]],"exit",true,"B0");
  1170.          addGroup([[-1,13]],"exit",true,"T1");
  1171.          setManPosition([[7,4],[1,13]]);
  1172.          addGroup([[5,5]],"man",false);
  1173.          createRoom(9,9);
  1174.          addGroup(get2DArray([0,0],[0,3]));
  1175.          addGroup(get2DArray([0,5],[0,8]));
  1176.          addGroup(get2DArray([8,0],[8,3]));
  1177.          addGroup(get2DArray([8,5],[8,8]));
  1178.          addGroup(get2DArray([1,0],[3,0]));
  1179.          addGroup(get2DArray([5,0],[7,0]));
  1180.          addGroup(get2DArray([1,8],[6,8]));
  1181.          addGroup([[5,2]],"spike",true,90);
  1182.          addGroup([[5,2]],"halfWall",true,90);
  1183.          addGroup([[5,3]],"spike",true,270);
  1184.          addGroup([[5,3]],"halfWall",true,270);
  1185.          addGroup([[7,8]],"spike",true,270);
  1186.          addGroup([[7,8]],"halfWall",true,270);
  1187.          addGroup([[2,1],[2,2],[5,1],[5,4],[3,4],[3,5],[7,5]]);
  1188.          addGroup(get2DArray([6,4],[6,6]));
  1189.          addGroup(get2DArray([1,6],[3,6]));
  1190.          addGroup([[7,6]],"key",false);
  1191.          addGroup([[1,2]],"door",true,90);
  1192.          addGroup([[1,1]],"key",false);
  1193.          addGroup([[3,7]],"door",true);
  1194.          addGroup([[1,7]],"key",false);
  1195.          addGroup([[4,0]],"door",true,90);
  1196.          addGroup([[8,4]],"specialDoor",true);
  1197.          addGroup([[4,-1]],"exit",true,"L0");
  1198.          addGroup([[-1,4]],"exit",true,"T1");
  1199.          addGroup([[9,4]],"exit",true,"B2");
  1200.          setManPosition([[4,1],[1,4],[7,4]]);
  1201.          addGroup([[5,5]],"man",false);
  1202.          createRoom(9,9);
  1203.          addGroup(get2DArray([0,0],[0,8]));
  1204.          addGroup(get2DArray([8,0],[8,8]));
  1205.          addGroup(get2DArray([1,0],[7,0]));
  1206.          addGroup(get2DArray([1,8],[3,8]));
  1207.          addGroup(get2DArray([5,8],[7,8]));
  1208.          addGroup([[5,7],[3,1]]);
  1209.          addGroup([[2,2],[2,3],[2,4],[2,6],[4,6],[4,4],[4,2],[6,2],[6,4],[6,5],[6,6],[2,5],[3,6],[4,5],[4,3],[5,2],[6,3]],"piston",false);
  1210.          addGroup([[7,1]],"book",false,9);
  1211.          addGroup([[4,9]],"exit",true,"R0");
  1212.          setManPosition([[4,7]]);
  1213.          addGroup([[5,5]],"man",false);
  1214.          createRoom(9,9);
  1215.          addGroup([[0,0],[0,2],[0,3],[0,5],[0,8],[8,8],[8,0]]);
  1216.          addGroup(get2DArray([8,3],[8,5]));
  1217.          addGroup(get2DArray([3,0],[5,0]));
  1218.          addGroup(get2DArray([3,8],[5,8]));
  1219.          addGroup([[4,4]]);
  1220.          addGroup([[0,1]],"spike",true,180);
  1221.          addGroup([[0,1]],"halfWall",true,180);
  1222.          addGroup([[0,6]],"spike",true,180);
  1223.          addGroup([[0,6]],"halfWall",true,180);
  1224.          addGroup([[0,7]],"spike",true,180);
  1225.          addGroup([[0,7]],"halfWall",true,180);
  1226.          addGroup([[1,8]],"spike",true,270);
  1227.          addGroup([[1,8]],"halfWall",true,270);
  1228.          addGroup([[2,8]],"spike",true,270);
  1229.          addGroup([[2,8]],"halfWall",true,270);
  1230.          addGroup([[6,8]],"spike",true,270);
  1231.          addGroup([[6,8]],"halfWall",true,270);
  1232.          addGroup([[7,8]],"spike",true,270);
  1233.          addGroup([[7,8]],"halfWall",true,270);
  1234.          addGroup([[8,1]],"spike",true,0);
  1235.          addGroup([[8,1]],"halfWall",true,0);
  1236.          addGroup([[8,2]],"spike",true,0);
  1237.          addGroup([[8,2]],"halfWall",true,0);
  1238.          addGroup([[8,6]],"spike",true,0);
  1239.          addGroup([[8,6]],"halfWall",true,0);
  1240.          addGroup([[8,7]],"spike",true,0);
  1241.          addGroup([[8,7]],"halfWall",true,0);
  1242.          addGroup([[1,0]],"spike",true,90);
  1243.          addGroup([[1,0]],"halfWall",true,90);
  1244.          addGroup([[2,0]],"spike",true,90);
  1245.          addGroup([[2,0]],"halfWall",true,90);
  1246.          addGroup([[6,0]],"spike",true,90);
  1247.          addGroup([[6,0]],"halfWall",true,90);
  1248.          addGroup([[7,0]],"spike",true,90);
  1249.          addGroup([[7,0]],"halfWall",true,90);
  1250.          addGroup([[1,3],[2,3],[3,3],[5,3],[5,4],[5,5],[5,7],[4,7],[3,7],[1,7],[1,6],[1,5],[2,7],[5,6],[4,3]],"piston",false);
  1251.          addGroup([[0,4]],"specialDoor");
  1252.          addGroup([[-1,4]],"exit",true,"T0");
  1253.          setManPosition([[1,4]]);
  1254.          addGroup([[5,5]],"man",false);
  1255.          createRoom(9,9);
  1256.          addGroup(get2DArray([8,0],[8,3]));
  1257.          addGroup(get2DArray([8,5],[8,8]));
  1258.          addGroup(get2DArray([0,0],[3,0]));
  1259.          addGroup(get2DArray([5,0],[7,0]));
  1260.          addGroup(get2DArray([0,1],[0,8]));
  1261.          addGroup(get2DArray([1,8],[6,8]));
  1262.          addGroup([[5,2]],"spike",true,90);
  1263.          addGroup([[5,2]],"halfWall",true,90);
  1264.          addGroup([[1,6]],"spike",true,270);
  1265.          addGroup([[1,6]],"halfWall",true,270);
  1266.          addGroup([[5,3]],"spike",true,270);
  1267.          addGroup([[5,3]],"halfWall",true,270);
  1268.          addGroup([[7,8]],"spike",true,270);
  1269.          addGroup([[7,8]],"halfWall",true,270);
  1270.          addGroup([[2,1],[2,2],[5,1],[5,4],[2,6],[7,5]]);
  1271.          addGroup(get2DArray([6,4],[6,6]));
  1272.          addGroup(get2DArray([3,4],[3,6]));
  1273.          addGroup([[7,6]],"key",false);
  1274.          addGroup([[1,2]],"door",true,90);
  1275.          addGroup([[1,1]],"key",false);
  1276.          addGroup([[3,7]],"door",true);
  1277.          addGroup([[1,7]],"key",false);
  1278.          addGroup([[4,0]],"door",true,90);
  1279.          addGroup([[8,4]],"specialDoor",true);
  1280.          addGroup([[4,-1]],"exit",true,"L0");
  1281.          addGroup([[9,4]],"exit",true,"B1");
  1282.          setManPosition([[4,1],[7,4]]);
  1283.          addGroup([[5,5]],"man",false);
  1284.          createRoom(9,9);
  1285.          addGroup(get2DArray([0,0],[0,8]));
  1286.          addGroup(get2DArray([8,0],[8,8]));
  1287.          addGroup(get2DArray([2,0],[3,0]));
  1288.          addGroup(get2DArray([5,0],[7,0]));
  1289.          addGroup(get2DArray([1,8],[3,8]));
  1290.          addGroup(get2DArray([5,8],[7,8]));
  1291.          addGroup([[2,2],[2,4],[2,6],[6,1],[6,3],[6,5],[6,7]]);
  1292.          addGroup([[1,0]],"spike",true,90);
  1293.          addGroup([[1,0]],"halfWall",true,90);
  1294.          addGroup([[3,2],[4,2],[5,2]],"piston",false);
  1295.          addGroup([[3,3],[4,3],[5,3]],"piston",false);
  1296.          addGroup([[3,4],[4,4],[5,4]],"piston",false);
  1297.          addGroup([[3,5],[4,5],[5,5]],"piston",false);
  1298.          addGroup([[3,6],[4,6],[5,6]],"piston",false);
  1299.          addGroup([[4,-1]],"exit",true,"L0");
  1300.          addGroup([[4,9]],"exit",true,"R1");
  1301.          setManPosition([[4,1],[4,7]]);
  1302.          addGroup([[5,5]],"man",false);
  1303.          createRoom(18,18);
  1304.          addGroup(get2DArray([0,9],[0,17]));
  1305.          addGroup(get2DArray([9,0],[9,9]));
  1306.          addGroup(get2DArray([17,0],[17,3]));
  1307.          addGroup(get2DArray([17,5],[17,17]));
  1308.          addGroup(get2DArray([1,9],[3,9]));
  1309.          addGroup(get2DArray([5,9],[8,9]));
  1310.          addGroup(get2DArray([9,0],[16,0]));
  1311.          addGroup(get2DArray([1,17],[3,17]));
  1312.          addGroup(get2DArray([5,17],[16,17]));
  1313.          addGroup([[11,3],[11,4],[2,13],[4,14],[11,1],[15,2],[15,6],[13,15],[15,13],[15,15],[11,6],[11,11],[15,5],[16,5],[7,16],[7,10],[2,10],[3,16],[1,15]]);
  1314.          addGroup(get2DArray([3,12],[3,14]));
  1315.          addGroup(get2DArray([14,2],[14,5]));
  1316.          addGroup(get2DArray([5,10],[5,13]));
  1317.          addGroup([[7,11]],"spike",true,0);
  1318.          addGroup([[7,11]],"halfWall",true,0);
  1319.          addGroup([[7,15]],"spike",true,0);
  1320.          addGroup([[7,15]],"halfWall",true,0);
  1321.          addGroup([[15,8]],"spike",true,0);
  1322.          addGroup([[15,8]],"halfWall",true,0);
  1323.          addGroup([[15,9]],"spike",true,0);
  1324.          addGroup([[15,9]],"halfWall",true,0);
  1325.          addGroup([[15,10]],"spike",true,0);
  1326.          addGroup([[15,10]],"halfWall",true,0);
  1327.          addGroup([[15,11]],"spike",true,0);
  1328.          addGroup([[15,11]],"halfWall",true,0);
  1329.          addGroup([[15,12]],"spike",true,0);
  1330.          addGroup([[15,12]],"halfWall",true,0);
  1331.          addGroup([[15,14]],"spike",true,0);
  1332.          addGroup([[15,14]],"halfWall",true,0);
  1333.          addGroup([[5,14]],"spike",true,180);
  1334.          addGroup([[5,14]],"halfWall",true,180);
  1335.          addGroup([[11,7]],"spike",true,180);
  1336.          addGroup([[11,7]],"halfWall",true,180);
  1337.          addGroup([[11,8]],"spike",true,180);
  1338.          addGroup([[11,8]],"halfWall",true,180);
  1339.          addGroup([[11,9]],"spike",true,180);
  1340.          addGroup([[11,9]],"halfWall",true,180);
  1341.          addGroup([[11,10]],"spike",true,180);
  1342.          addGroup([[11,10]],"halfWall",true,180);
  1343.          addGroup([[8,11]],"spike",true,90);
  1344.          addGroup([[8,11]],"halfWall",true,90);
  1345.          addGroup([[9,11]],"spike",true,90);
  1346.          addGroup([[9,11]],"halfWall",true,90);
  1347.          addGroup([[10,11]],"spike",true,90);
  1348.          addGroup([[10,11]],"halfWall",true,90);
  1349.          addGroup([[12,4]],"spike",true,90);
  1350.          addGroup([[12,4]],"halfWall",true,90);
  1351.          addGroup([[13,4]],"spike",true,90);
  1352.          addGroup([[13,4]],"halfWall",true,90);
  1353.          addGroup([[8,15]],"spike",true,270);
  1354.          addGroup([[8,15]],"halfWall",true,270);
  1355.          addGroup([[9,15]],"spike",true,270);
  1356.          addGroup([[9,15]],"halfWall",true,270);
  1357.          addGroup([[10,15]],"spike",true,270);
  1358.          addGroup([[10,15]],"halfWall",true,270);
  1359.          addGroup([[11,15]],"spike",true,270);
  1360.          addGroup([[11,15]],"halfWall",true,270);
  1361.          addGroup([[12,15]],"spike",true,270);
  1362.          addGroup([[12,15]],"halfWall",true,270);
  1363.          addGroup([[14,15]],"spike",true,270);
  1364.          addGroup([[14,15]],"halfWall",true,270);
  1365.          addGroup([[13,6],[13,7],[13,5],[12,6],[14,6]],"piston",false);
  1366.          addGroup([[8,16]],"key",false);
  1367.          addGroup([[17,4]],"door",true);
  1368.          addGroup([[8,10]],"key",false);
  1369.          addGroup([[11,2]],"door",true);
  1370.          addGroup([[4,8]],"exit",true,"L0");
  1371.          addGroup([[4,18]],"exit",true,"R1");
  1372.          addGroup([[18,4]],"exit",true,"B2");
  1373.          setManPosition([[3,10],[4,16],[16,4]]);
  1374.          addGroup([[14,14]],"man",false);
  1375.          createRoom(9,18);
  1376.          addGroup([[17,0],[8,0],[13,0],[17,2],[17,3],[17,5],[17,6],[17,8],[0,5],[0,6],[0,8],[6,8]]);
  1377.          addGroup(get2DArray([0,1],[0,3]));
  1378.          addGroup(get2DArray([0,0],[3,0]));
  1379.          addGroup([[2,2],[3,3],[3,5],[5,5],[5,6],[6,3],[7,5],[7,6],[9,2],[9,3],[13,5],[13,6],[14,2],[14,3],[14,5],[14,6],[16,6],[7,2],[12,2],[12,3]]);
  1380.          addGroup([[14,4]],"spike",true,0);
  1381.          addGroup([[14,4]],"halfWall",true,0);
  1382.          addGroup([[17,1]],"spike",true,0);
  1383.          addGroup([[17,1]],"halfWall",true,0);
  1384.          addGroup([[17,7]],"spike",true,0);
  1385.          addGroup([[17,7]],"halfWall",true,0);
  1386.          addGroup([[0,7]],"spike",true,180);
  1387.          addGroup([[0,7]],"halfWall",true,180);
  1388.          addGroup([[3,4]],"spike",true,180);
  1389.          addGroup([[3,4]],"halfWall",true,180);
  1390.          addGroup([[4,0]],"spike",true,90);
  1391.          addGroup([[4,0]],"halfWall",true,90);
  1392.          addGroup([[5,0]],"spike",true,90);
  1393.          addGroup([[5,0]],"halfWall",true,90);
  1394.          addGroup([[6,0]],"spike",true,90);
  1395.          addGroup([[6,0]],"halfWall",true,90);
  1396.          addGroup([[7,0]],"spike",true,90);
  1397.          addGroup([[7,0]],"halfWall",true,90);
  1398.          addGroup([[9,0]],"spike",true,90);
  1399.          addGroup([[9,0]],"halfWall",true,90);
  1400.          addGroup([[10,0]],"spike",true,90);
  1401.          addGroup([[10,0]],"halfWall",true,90);
  1402.          addGroup([[11,0]],"spike",true,90);
  1403.          addGroup([[11,0]],"halfWall",true,90);
  1404.          addGroup([[12,0]],"spike",true,90);
  1405.          addGroup([[12,0]],"halfWall",true,90);
  1406.          addGroup([[14,0]],"spike",true,90);
  1407.          addGroup([[14,0]],"halfWall",true,90);
  1408.          addGroup([[15,0]],"spike",true,90);
  1409.          addGroup([[15,0]],"halfWall",true,90);
  1410.          addGroup([[16,0]],"spike",true,90);
  1411.          addGroup([[16,0]],"halfWall",true,90);
  1412.          addGroup([[4,3]],"spike",true,90);
  1413.          addGroup([[4,3]],"halfWall",true,90);
  1414.          addGroup([[5,3]],"spike",true,90);
  1415.          addGroup([[5,3]],"halfWall",true,90);
  1416.          addGroup([[10,3]],"spike",true,90);
  1417.          addGroup([[10,3]],"halfWall",true,90);
  1418.          addGroup([[11,3]],"spike",true,90);
  1419.          addGroup([[11,3]],"halfWall",true,90);
  1420.          addGroup([[1,6]],"spike",true,90);
  1421.          addGroup([[1,6]],"halfWall",true,90);
  1422.          addGroup([[2,6]],"spike",true,90);
  1423.          addGroup([[2,6]],"halfWall",true,90);
  1424.          addGroup([[3,6]],"spike",true,90);
  1425.          addGroup([[3,6]],"halfWall",true,90);
  1426.          addGroup([[4,6]],"spike",true,90);
  1427.          addGroup([[4,6]],"halfWall",true,90);
  1428.          addGroup([[8,6]],"spike",true,90);
  1429.          addGroup([[8,6]],"halfWall",true,90);
  1430.          addGroup([[9,6]],"spike",true,90);
  1431.          addGroup([[9,6]],"halfWall",true,90);
  1432.          addGroup([[10,6]],"spike",true,90);
  1433.          addGroup([[10,6]],"halfWall",true,90);
  1434.          addGroup([[11,6]],"spike",true,90);
  1435.          addGroup([[11,6]],"halfWall",true,90);
  1436.          addGroup([[12,6]],"spike",true,90);
  1437.          addGroup([[12,6]],"halfWall",true,90);
  1438.          addGroup([[3,2]],"spike",true,270);
  1439.          addGroup([[3,2]],"halfWall",true,270);
  1440.          addGroup([[4,2]],"spike",true,270);
  1441.          addGroup([[4,2]],"halfWall",true,270);
  1442.          addGroup([[5,2]],"spike",true,270);
  1443.          addGroup([[5,2]],"halfWall",true,270);
  1444.          addGroup([[6,2]],"spike",true,270);
  1445.          addGroup([[6,2]],"halfWall",true,270);
  1446.          addGroup([[10,2]],"spike",true,270);
  1447.          addGroup([[10,2]],"halfWall",true,270);
  1448.          addGroup([[11,2]],"spike",true,270);
  1449.          addGroup([[11,2]],"halfWall",true,270);
  1450.          addGroup([[15,2]],"spike",true,270);
  1451.          addGroup([[15,2]],"halfWall",true,270);
  1452.          addGroup([[16,2]],"spike",true,270);
  1453.          addGroup([[16,2]],"halfWall",true,270);
  1454.          addGroup([[4,5]],"spike",true,270);
  1455.          addGroup([[4,5]],"halfWall",true,270);
  1456.          addGroup([[8,5]],"spike",true,270);
  1457.          addGroup([[8,5]],"halfWall",true,270);
  1458.          addGroup([[9,5]],"spike",true,270);
  1459.          addGroup([[9,5]],"halfWall",true,270);
  1460.          addGroup([[10,5]],"spike",true,270);
  1461.          addGroup([[10,5]],"halfWall",true,270);
  1462.          addGroup([[11,5]],"spike",true,270);
  1463.          addGroup([[11,5]],"halfWall",true,270);
  1464.          addGroup([[12,5]],"spike",true,270);
  1465.          addGroup([[12,5]],"halfWall",true,270);
  1466.          addGroup([[1,8]],"spike",true,270);
  1467.          addGroup([[1,8]],"halfWall",true,270);
  1468.          addGroup([[2,8]],"spike",true,270);
  1469.          addGroup([[2,8]],"halfWall",true,270);
  1470.          addGroup([[3,8]],"spike",true,270);
  1471.          addGroup([[3,8]],"halfWall",true,270);
  1472.          addGroup([[4,8]],"spike",true,270);
  1473.          addGroup([[4,8]],"halfWall",true,270);
  1474.          addGroup([[5,8]],"spike",true,270);
  1475.          addGroup([[5,8]],"halfWall",true,270);
  1476.          addGroup([[7,8]],"spike",true,270);
  1477.          addGroup([[7,8]],"halfWall",true,270);
  1478.          addGroup([[8,8]],"spike",true,270);
  1479.          addGroup([[8,8]],"halfWall",true,270);
  1480.          addGroup([[9,8]],"spike",true,270);
  1481.          addGroup([[9,8]],"halfWall",true,270);
  1482.          addGroup([[10,8]],"spike",true,270);
  1483.          addGroup([[10,8]],"halfWall",true,270);
  1484.          addGroup([[11,8]],"spike",true,270);
  1485.          addGroup([[11,8]],"halfWall",true,270);
  1486.          addGroup([[12,8]],"spike",true,270);
  1487.          addGroup([[12,8]],"halfWall",true,270);
  1488.          addGroup([[13,8]],"spike",true,270);
  1489.          addGroup([[13,8]],"halfWall",true,270);
  1490.          addGroup([[14,8]],"spike",true,270);
  1491.          addGroup([[14,8]],"halfWall",true,270);
  1492.          addGroup([[15,8]],"spike",true,270);
  1493.          addGroup([[15,8]],"halfWall",true,270);
  1494.          addGroup([[16,8]],"spike",true,270);
  1495.          addGroup([[16,8]],"halfWall",true,270);
  1496.          addGroup([[-1,4]],"exit",true,"T0");
  1497.          addGroup([[18,4]],"exit",true,"B1");
  1498.          setManPosition([[1,4],[16,4]]);
  1499.          addGroup([[5,5]],"man",false);
  1500.          createRoom(9,9);
  1501.          addGroup(get2DArray([0,0],[0,3]));
  1502.          addGroup(get2DArray([0,5],[0,8]));
  1503.          addGroup(get2DArray([8,0],[8,8]));
  1504.          addGroup(get2DArray([1,0],[3,0]));
  1505.          addGroup(get2DArray([5,0],[7,0]));
  1506.          addGroup(get2DArray([1,8],[7,8]));
  1507.          addGroup([[3,3],[3,7],[6,6],[6,7]]);
  1508.          addGroup(get2DArray([1,2],[5,2]));
  1509.          addGroup(get2DArray([6,2],[6,4]));
  1510.          addGroup([[3,4],[3,5],[3,6],[4,4],[4,5],[4,6]],"piston",false);
  1511.          addGroup([[1,1]],"key",false);
  1512.          addGroup([[4,0]],"door",true,90);
  1513.          addGroup([[7,7]],"book",false,10);
  1514.          addGroup([[4,-1]],"exit",true,"L0");
  1515.          addGroup([[-1,4]],"exit",true,"T1");
  1516.          setManPosition([[4,1],[1,4]]);
  1517.          addGroup([[5,5]],"man",false);
  1518.       }
  1519.       
  1520.       public function getExit(param1:uint, param2:String) : Object
  1521.       {
  1522.          var _loc3_:Array = null;
  1523.          var _loc4_:String = null;
  1524.          var _loc5_:uint = 0;
  1525.          var _loc6_:* = undefined;
  1526.          _loc3_ = param2.split("");
  1527.          _loc4_ = String(_loc3_[0]);
  1528.          _loc5_ = Number(_loc3_[1]);
  1529.          for each(_loc6_ in mapEntrances)
  1530.          {
  1531.             if(_loc6_.id == param1 && _loc5_ == _loc6_.entranceId && _loc4_ == _loc6_.dir)
  1532.             {
  1533.                return _loc6_;
  1534.             }
  1535.          }
  1536.          return {};
  1537.       }
  1538.       
  1539.       public function createRoom(param1:Number, param2:Number, param3:Number = 25, param4:String = "level") : void
  1540.       {
  1541.          cRoom = new Array();
  1542.          cMan = new Array();
  1543.          levels.push({
  1544.             "data":cRoom,
  1545.             "xGrid":param1,
  1546.             "yGrid":param2,
  1547.             "gridWidth":param3,
  1548.             "type":param4,
  1549.             "manPositions":cMan
  1550.          });
  1551.       }
  1552.       
  1553.       public function getRoomData() : Object
  1554.       {
  1555.          return levels[currentLevel];
  1556.       }
  1557.       
  1558.       public function getData(param1:uint) : Object
  1559.       {
  1560.          return levels[param1];
  1561.       }
  1562.       
  1563.       public function editActiveRoom(param1:Array) : void
  1564.       {
  1565.          var _loc2_:int = 0;
  1566.          _loc2_ = 0;
  1567.          while(_loc2_ < mapEntrances.length)
  1568.          {
  1569.             if(mapEntrances[_loc2_].id == 25)
  1570.             {
  1571.                mapEntrances.splice(_loc2_,1);
  1572.                addEntrance(param1,["T"],25,0);
  1573.                break;
  1574.             }
  1575.             _loc2_++;
  1576.          }
  1577.          levels[0].data[25].points = [param1];
  1578.       }
  1579.       
  1580.       public function getRoomLocation(param1:uint) : Object
  1581.       {
  1582.          var _loc2_:Array = null;
  1583.          var _loc3_:uint = 0;
  1584.          var _loc4_:uint = 0;
  1585.          var _loc5_:uint = 0;
  1586.          var _loc6_:uint = 0;
  1587.          var _loc7_:* = undefined;
  1588.          _loc2_ = levels[0].data[param1].points;
  1589.          _loc3_ = uint(_loc2_[0][1]);
  1590.          _loc4_ = uint(_loc2_[0][1]);
  1591.          _loc5_ = uint(_loc2_[0][0]);
  1592.          _loc6_ = uint(_loc2_[0][0]);
  1593.          for each(_loc7_ in _loc2_)
  1594.          {
  1595.             _loc3_ = _loc3_ < _loc7_[1] ? _loc3_ : uint(_loc7_[1]);
  1596.             _loc5_ = _loc5_ < _loc7_[0] ? _loc5_ : uint(_loc7_[0]);
  1597.             _loc4_ = _loc4_ > _loc7_[1] ? _loc4_ : uint(_loc7_[1]);
  1598.             _loc6_ = _loc6_ > _loc7_[0] ? _loc6_ : uint(_loc7_[0]);
  1599.          }
  1600.          return {
  1601.             "x":(_loc3_ + _loc4_) / 2,
  1602.             "y":(_loc5_ + _loc6_) / 2
  1603.          };
  1604.       }
  1605.       
  1606.       private function getAllData() : void
  1607.       {
  1608.          allData = Cookie.getInstance().getAllData();
  1609.       }
  1610.       
  1611.       private function createHiddenRoom() : void
  1612.       {
  1613.          var _loc1_:Object = null;
  1614.          var _loc2_:Object = null;
  1615.          var _loc3_:Object = null;
  1616.          var _loc4_:Object = null;
  1617.          var _loc5_:Object = null;
  1618.          var _loc6_:Object = null;
  1619.          var _loc7_:Object = null;
  1620.          var _loc8_:Object = null;
  1621.          var _loc9_:Object = null;
  1622.          _loc1_ = new Object();
  1623.          _loc2_ = new Object();
  1624.          _loc3_ = new Object();
  1625.          _loc4_ = new Object();
  1626.          _loc5_ = new Object();
  1627.          _loc6_ = new Object();
  1628.          _loc7_ = new Object();
  1629.          _loc8_ = new Object();
  1630.          _loc9_ = new Object();
  1631.          hiddenRoomSets = [_loc1_,_loc2_,_loc3_,_loc4_,_loc5_,_loc6_,_loc7_,_loc8_,_loc9_];
  1632.          _loc1_.point = [2,4];
  1633.          _loc1_.position = [-23.4,-40];
  1634.          _loc1_.nPoint = [_loc1_,_loc1_,_loc1_,_loc2_];
  1635.          _loc2_.point = [2,3];
  1636.          _loc2_.position = [-39.6,-40];
  1637.          _loc2_.nPoint = [_loc3_,_loc1_,_loc2_,_loc2_];
  1638.          _loc3_.point = [3,3];
  1639.          _loc3_.position = [-39.6,-24];
  1640.          _loc3_.nPoint = [_loc3_,_loc3_,_loc2_,_loc4_];
  1641.          _loc4_.point = [3,2];
  1642.          _loc4_.position = [-55.4,-24];
  1643.          _loc4_.nPoint = [_loc6_,_loc3_,_loc4_,_loc4_];
  1644.          _loc5_.point = [5,2];
  1645.          _loc5_.position = [-55.4,8];
  1646.          _loc5_.nPoint = [_loc6_,_loc9_,_loc4_,_loc5_];
  1647.          _loc6_.point = [6,2];
  1648.          _loc6_.position = [-55.4,23.7];
  1649.          _loc6_.nPoint = [_loc6_,_loc8_,_loc4_,_loc6_];
  1650.          _loc7_.point = [5,3];
  1651.          _loc7_.position = [-39.6,8];
  1652.          _loc7_.nPoint = [_loc8_,_loc9_,_loc7_,_loc5_];
  1653.          _loc8_.point = [6,3];
  1654.          _loc8_.position = [-39.6,23.7];
  1655.          _loc8_.nPoint = [_loc8_,_loc8_,_loc7_,_loc6_];
  1656.          _loc9_.point = [5,4];
  1657.          _loc9_.position = [-23.4,8];
  1658.          _loc9_.nPoint = [_loc9_,_loc9_,_loc9_,_loc5_];
  1659.       }
  1660.       
  1661.       public function clearState(param1:Boolean = true, param2:Boolean = false) : void
  1662.       {
  1663.          if(param1)
  1664.          {
  1665.             currentRoom = null;
  1666.          }
  1667.          else
  1668.          {
  1669.             currentRoom.player.doAction("stand");
  1670.             currentRoom.player.stopMoving();
  1671.          }
  1672.          if(!param2)
  1673.          {
  1674.             isSleep = false;
  1675.          }
  1676.       }
  1677.       
  1678.       public function setMessage() : void
  1679.       {
  1680.          messages = new Array();
  1681.          messages.push(["Hmm, I can move by pressing left and right. And I can jump by pressing up. Z and X seem to rotate the entire world. But how do I know all this?","µêæσÅ»Σ╗ѵîëσ╖ªσÆîσÅ│Φ╖æσè¿∩╝îµîëΣ╕èΦ┐¢ΦíîΦ╖│Φ╖â∩╝îΦÇîΣ╕öσÅ»Σ╗Ñτö¿ZσÆîXµ¥ÑµùïΦ╜¼µò┤Σ╕¬σ£║σ£░πÇéΣ╜åµêæσªéΣ╜òΣ╗ÄΦ┐ÖΘçîΦä▒σç║σæó∩╝ƒ","Hmm, ik kan bewegen door op links en rechts te drukken. En ik kan springen door op naar boven te drukken. Z en X draaien de hele wereld rond. Maar waarom weet ik dit allemaal?","Hmm, je peux me d├⌐placer en appuyant ├á gauche et ├á droite. Je peux sauter en appuyant sur la fl├¿che du haut. Z et X semblent faire tourner le monde entier. Mais comment est-ce que je sais tout ├ºa ?","Hmm, ich kann mich bewegen, indem ich die Pfeiltasten nach links und rechts dr├╝cke und springen, indem ich die Pfeiltaste nach oben dr├╝cke. Mit Z und X kann ich diese ganze Welt hier drehen. Aber warum wei├ƒ ich das alles blo├ƒ?","Hmm, poruszam si─Ö dzi─Öki strza┼ékom w lewo i w prawo. A skacz─Ö, naciskaj─àc strza┼ék─Ö w g├│r─Ö. Z i X wydaje si─Ö obraca─ç ca┼éy ┼¢wiat. Ale sk─àd ja to wszystko wiem?","Hm, jag kan f├╢rflytta mig genom att trycka v├ñnster och h├╢ger. Och jag kan hoppa genom att trycka upp. Z och X verkar rotera hela v├ñrlden. Hur vet jag detta?","Mmm, posso muovermi premendo i tasti freccia Su, Destra e Sinistra. I tasti Z e X sembra servano a far ruotare l\'intero mondo. Ma come mai mi ├¿ dato sapere tutto questo?","Hum, me puedo mover pulsando izquierda y derecha. Tambi├⌐n puedo saltar pulsando arriba. Las teclas Z y X hacen que el mundo entero d├⌐ vueltas. ┬┐Pero c├│mo s├⌐ yo todo esto?","Hmm, para andar, uso as setas direita e esquerda. Para pular, a seta para cima. Parece que Z e X fazem o mundo girar. Mas como ├⌐ que sei de tudo isso?","Hmm, Saya bisa bergerak dengan menekan tombol panah kiri dan kanan. Dan saya bisa melompat dengan menekan tombol panah atas. Tombol Z dan X kelihatannya untuk memutar seluruh dunia. Tapi mengapa saya mengetahui semua ini?","╨Ñ╨╝, ╤Å ╨╝╨╛╨│╤â ╨┤╨▓╨╕╨│╨░╤é╤î╤ü╤Å, ╨╜╨░╨╢╨╕╨╝╨░╤Å ╨║╨╗╨░╨▓╨╕╤ê╨╕ \"╨▓╨╗╨╡╨▓╨╛\" ╨╕ \"╨▓╨┐╤Ç╨░╨▓╨╛\". ╨É ╨╡╤ü╨╗╨╕ ╨╜╨░╨╢╨░╤é╤î ╨║╨╗╨░╨▓╨╕╤ê╤â \"╨▓╨▓╨╡╤Ç╤à\", ╤Å ╨╝╨╛╨│╤â ╨┐╤Ç╤ï╨│╨░╤é╤î. ╨Ü╨╗╨░╨▓╨╕╤ê╨╕ Z ╨╕ X, ╨┐╨╛╤à╨╛╨╢╨╡, ╨╖╨░╤ü╤é╨░╨▓╨╗╤Å╤Ä╤é ╨▓╨╡╤ü╤î ╨╝╨╕╤Ç ╨┐╨╛╨▓╨╛╤Ç╨░╤ç╨╕╨▓╨░╤é╤î╤ü╤Å. ╨¥╨╛ ╨╛╤é╨║╤â╨┤╨░ ╤Å ╨▓╤ü╨╡ ╤ì╤é╨╛ ╨╖╨╜╨░╤Ä?","Hmm, I can move by pressing left and right and can jump by pressing up. Z and X seem to rotate the entire world; but how do I know all this?","Hmm, I can move by pressing left and right and can jump by pressing up. Z and X seem to rotate the entire world; but how do I know all this?","Hmm, sola ve sa─ƒa basarak hareket edebilirim. Yukar─▒ basarak da z─▒playabilirim. San─▒r─▒m Z ve X b├╝t├╝n d├╝nyay─▒ d├╢nd├╝r├╝yor. Fakat b├╝t├╝n bunlar─▒ neden biliyorum?","Hmm, saya boleh bergerak dengan menekan ke kiri dan kanan. Z dan X boleh memutar seluruh dunia. Tetapi mengapa saya mengetahui semua ini?","Humm, eu posso mover-me pressionando a seta da esquerda e a da direita. E posso saltar pressionando a seta de cima. Z e X servem para fazer girar o mundo. Mas como sei eu tudo isto? "]);
  1682.          messages.push(["By running and jumping at ledges, I can climb onto them. This will help me avoid those nasty spikes. But will it help me find the exit from this place?","τö¿Φ╖æσÆîΦ╖│µêæΦâ╜τê¼Σ╕èΘ½ÿσóÖ∩╝îΦÇîΣ╕öσÅ»Σ╗Ñσ╕«σè⌐µêæΘü┐σ╝ÇσÅ»µü╢τÜäΘÆëµ¥┐∩╝îΣ╜åΦ┐ÖΣ║¢Φâ╜σ╕«µêæµë╛σê░σç║σÅúσÉù∩╝ƒ","Door te rennen en te springen kan ik op dingen klimmen. Dan kan ik tenminste die nare stekels ontwijken. Maar zal het mij ook uit dit doolhof helpen?","En courant et sautant sur les rebords, on peut y monter. Je pourrai ainsi ├⌐viter ces pointes ac├⌐r├⌐es. Mais est-ce que cela va m\'aider ├á sortir de cet endroit ?","Wenn ich laufe und auf Vorspr├╝nge springe, kann ich nach oben klettern. So kann ich diesen schlimmen Stacheln ausweichen. Aber wird mir das auch helfen, von hier zu entkommen?","Podbiegaj─àc i wskakuj─àc na kraw─Ödzie mog─Ö si─Ö na nie wspi─à─ç. To pomo┼╝e omin─à─ç mi te okropne w┼é├│cznie. Ale czy umo┼╝liwi mi znalezienie wyj┼¢cia z tego miejsca?","Genom att springa och hoppa kan jag kl├ñttra upp p├Ñ saker. P├Ñ s├Ñ s├ñtt kan jag undvika spetsarna. Men hj├ñlper det mig att hitta utg├Ñngen?","Se prendo la rincorsa e salto sulle sporgenze riuscir├▓ ad arrampicarmi. In questo modo potr├▓ evitare quei maledetti spuntoni. Ma servir├á a farmi trovare una via d\'uscita da questo posto?","Corriendo y saltando por las cornisas, puedo escalar. As├¡ conseguir├⌐ esquivar esas asquerosas serpientes. Pero con eso, ┬┐ser├⌐ capaz de salir de este lugar?","Correndo e pulando nas sali├¬ncias, consigo subir nelas. Isso me ajudar├í a evitar os pregos perigosos. Mas ser├í que me ajuda a encontrar a sa├¡da?","Dengan berlari dan melompati birai, Saya bisa memanjat ke atas benda-benda. Ini akan membantu saya untuk menghindari paku besar yang kotor. Tapi akankah saya terbantu untuk menemukan jalan keluar dari tempat ini?","╨ù╨░╨┐╤Ç╤ï╨│╨╕╨▓╨░╤Å ╤ü ╤Ç╨░╨╖╨▒╨╡╨│╤â ╨╜╨░ ╨▓╤ï╤ü╤é╤â╨┐╤ï, ╤Å ╨╝╨╛╨│╤â ╨▓╨╖╨▒╨╕╤Ç╨░╤é╤î╤ü╤Å ╨╜╨░ ╨▓╨╛╨╖╨▓╤ï╤ê╨╡╨╜╨╕╤Å. ╨¡╤é╨╛ ╨┐╨╛╨╝╨╛╨╢╨╡╤é ╨╝╨╜╨╡ ╨╕╨╖╨▒╨╡╨╢╨░╤é╤î ╤ì╤é╨╕╤à ╨╢╤â╤é╨║╨╕╤à ╤ê╨╕╨┐╨╛╨▓. ╨¥╨╛ ╨┐╨╛╨╝╨╛╨╢╨╡╤é ╨╗╨╕ ╨╝╨╜╨╡ ╤ì╤é╨╛ ╨╜╨░╨╣╤é╨╕ ╨▓╤ï╤à╨╛╨┤ ╨╛╤é╤ü╤Ä╨┤╨░?","I can climb onto ledges by running and jumping at them. This will help me avoid those nasty spikes. But will it help me find the way out of this place?","I can climb onto ledges by running and jumping at them. This will help me avoid those nasty spikes. But will it help me find the way out of this place?","Ko┼ƒarak ve ├º─▒k─▒nt─▒lar─▒n ├╝zerinden z─▒playarak t─▒rmanabilirim. Bu sayede ├ºivilerden uzak durabilirim. Ama b├╝t├╝n bunlar buradan ├º─▒kmama yard─▒mc─▒ olacak m─▒?","Dengan berlari dan melompat pada belebas, saya boleh memanjat pada benda. Ini membantu saya mengelak daripada pepaku berbahaya. Tetapi adakah ia akan membantu saya keluar daripada tempat ini?","Correndo e saltando sobre as eleva├º├╡es, eu consigo subi-las. Isto ajudar-me-├á a evitar os obst├ículos. Mas ser├í suficiente para me ajudar a sair deste s├¡tio?"]);
  1683.          messages.push(["Do not enter the room beyond! I was almost immediately trapped! I have attached a key to the wall which might help you escape.","σê½σê░σëìΘ¥óµê┐Θù┤σÄ╗Σ║å∩╝üµêæσ╖«τé╣σ£¿ΘéúΘçîΣ╕ºσæ╜∩╝üΣ╜åµêæσ£¿ΘéúΘçîσóÖΣ╕èµîéτ¥ÇµèèΘÆÑσîÖσÅ»Φâ╜σ»╣Σ╜áτÜäΘÇâΦä▒µ£ëσ╕«σè⌐πÇé","Ga niet naar de volgende kamer! Ik was bijna meteen opgesloten! Ik heb een sleutel aan de muur gehangen om je verder te helpen.","N\'entrez surtout pas dans la pi├¿ce suivante ! J\'ai presque imm├⌐diatement ├⌐t├⌐ enferm├⌐ ! J\'ai attach├⌐ au mur une cl├⌐ qui pourrait vous aider ├á vous ├⌐chapper.","Geh nicht in diesen Raum! Ich sa├ƒ sofort in der Falle! Ich habe einen Schl├╝ssel an die Wand geh├ñngt, der dir bei deiner Flucht helfen wird.","Nie wchod┼║ do nast─Öpnego pokoju! Ja prawie natychmiast zosta┼éem uwi─Öziony! Przyczepi┼éem klucz do ┼¢ciany, by─ç mo┼╝e to pomo┼╝e ci uciec.","G├Ñ inte in i rummet bortom! Jag blev omedelbart f├Ñngen! Jag har h├ñngt en nyckel p├Ñ v├ñggen. Den kanske kan hj├ñlpa dig att fly.","Non entrate nella stanza accanto! Per poco non rimanevo in trappola! Ho appeso una chiave al muro che potrebbe servire in caso di fuga.","No entres a la siguiente habitaci├│n. ┬íCasi quedo atrapado al instante! He colocado una llave en la pared que te ayudar├í a escapar.","N├úo entre na pr├│xima sala! Fiquei preso quase imediatamente! Prendi uma chave ├á parede para ajud├í-lo a escapar.","Jangan memasuki bagian luar ruangan! Saya hampir terjebak! Saya telah meletakkan sebuah kunci di dinding yang akan membantu saya melarikan diri.","╨¥╨╡ ╨╖╨░╤à╨╛╨┤╨╕╤é╨╡ ╨▓ ╤ü╨╗╨╡╨┤╤â╤Ä╤ë╤â╤Ä ╨║╨╛╨╝╨╜╨░╤é╤â! ╨» ╨┐╤Ç╨░╨║╤é╨╕╤ç╨╡╤ü╨║╨╕ ╤ü╤Ç╨░╨╖╤â ╨╢╨╡ ╨╛╨║╨░╨╖╨░╨╗╤ü╤Å ╨▓ ╨╗╨╛╨▓╤â╤ê╨║╨╡! ╨» ╨┐╤Ç╨╕╨║╤Ç╨╡╨┐╨╕╨╗ ╨║ ╤ü╤é╨╡╨╜╨╡ ╨║╨╗╤Ä╤ç - ╨▓╨╛╨╖╨╝╨╛╨╢╨╜╨╛, ╨╛╨╜ ╨┐╨╛╨╝╨╛╨╢╨╡╤é ╨▓╨░╨╝ ╨▓╤ï╨▒╤Ç╨░╤é╤î╤ü╤Å ╨╕╨╖ ╨╗╨╛╨▓╤â╤ê╨║╨╕ΓǪ","Do not enter the room beyond! I was nearly trapped then! I have placed a key on the wall which might help you escape.","Do not enter the room beyond! I was nearly trapped then! I have placed a key on the wall which might help you escape.","Bu odaya sak─▒n girmeyin! Ben neredeyse tuza─ƒa d├╝┼ƒ├╝yordum! Duvara bir anahtar ast─▒m, o ka├ºman─▒za yard─▒mc─▒ olabilir.","Jangan masuk ke bilik di sebelah sana! Saya hampir terperangkap! Saya telah meletakkan kunci pada dinding yang mungkin membantu anda melepaskan diri.","N├úo entre no quarto que se segue. Fui quase logo apanhado! Deixei uma chave na parede que talvez lhe possa ser ├║til para escapar."]);
  1684.          messages.push(["By running and then jumping, I can reach farther. And if I\'m careful, I can stand pretty close to spikes as well. ","σàêΦ╖æΦ╡╖µ¥Ñτä╢σÉÄΦ╖│Φâ╜σñƒΦ╖│σ╛ùµ¢┤Φ┐£πÇéσ╣╢Σ╕öσªéµ₧£Φ╢│σñƒσ░Åσ┐âτÜäΦ»¥µêæΦâ╜τ┤ºΦ┤┤τ¥ÇΘÆëµ¥┐τ½Öτ½ïΦÇîΣ╕ìσÅùΣ╝ñπÇé","Door te rennen en te springen kan ik verder springen. En als ik voorzichtig ben kan ik heel dicht bij die stekels komen.","Si je prends de l\'├⌐lan avant de sauter, je peux aller plus loin. Et, si je fais attention, je peux m├¬me ├¬tre assez proche des pointes.","Wenn ich laufe und springe, komme ich viel weiter. Und wenn ich vorsichtig bin, kann ich mich auch relativ nah an die Stachel stellen.","Bior─àc rozbieg i wykonuj─àc skok mog─Ö dotrze─ç dalej. A je┼¢li b─Öd─Ö ostro┼╝ny, mog─Ö tak┼╝e stan─à─ç ca┼ékiem blisko w┼é├│czni.","Genom att springa och hoppa kan jag n├Ñ l├ñngre. Och om jag ├ñr f├╢rsiktig kan jag st├Ñ ganska n├ñra spetsarna.","Se prendo la rincorsa e salto posso spingermi pi├╣ lontano. Se sto attento, inoltre, posso anche sostare in prossimit├á degli spuntoni.","Corriendo y luego saltando puedo ir m├ís lejos. Y s├⌐ que debo tener cuidado porque puedo estar muy cerca de las serpientes.","Correndo e pulando, posso chegar mais longe. E, se tomar cuidado, tamb├⌐m posso me aproximar bastante dos pregos.","Dengan berlari dan kemudian melompat, Saya bisa mencapai lebih jauh. Dan jika saya berhati-hati, maka saya juga akan bisa berdiri dekat dengan paku.","╨ò╤ü╨╗╨╕ ╤Ç╨░╨╖╨▒╨╡╨╢╨░╤é╤î╤ü╤Å ╨╕ ╨┐╤Ç╤ï╨│╨╜╤â╤é╤î, ╨╝╨╛╨╢╨╜╨╛ ╨╖╨░╨┐╤Ç╤ï╨│╨╜╤â╤é╤î ╨┐╨╛╨┤╨░╨╗╤î╤ê╨╡. ╨Ü╤Ç╨╛╨╝╨╡ ╤é╨╛╨│╨╛, ╨╡╤ü╨╗╨╕ ╤ü╨╛╨▒╨╗╤Ä╨┤╨░╤é╤î ╨╛╤ü╤é╨╛╤Ç╨╛╨╢╨╜╨╛╤ü╤é╤î, ╨╝╨╛╨╢╨╜╨╛ ╨┐╨╛╨┤╤à╨╛╨┤╨╕╤é╤î ╨┤╨╛╨▓╨╛╨╗╤î╨╜╨╛ ╨▒╨╗╨╕╨╖╨║╨╛ ╨║ ╤ê╨╕╨┐╨░╨╝.","I can get further by running and then jumping. If I\'m careful I can stand pretty close to the spikes too.","I can get further by running and then jumping. If I\'m careful I can stand pretty close to the spikes too.","Ko┼ƒup z─▒playarak daha uza─ƒa eri┼ƒebilirim. Ayr─▒ca dikkatli olursam ├ºivilere olduk├ºa yak─▒n durabilirim.","Dengan berlari dan kemudian melompat, saya boleh pergi lebih jauh. Dan jika saya berhati-hati, saya juga boleh berdiri agak dekat dengan pepaku.","Correndo e depois saltando, posso chegar mais longe. E, se tiver cuidado, posso aproximar-me bastante dos obst├ículos."]);
  1685.          messages.push(["I hate this world! Rooms, traps, doors, keysΓǪ What lunatic designed this? If I ever escape, he\'ll be sorry!","µêæµåĵü¿Φ┐ÖΣ╕¬σ£░µû╣∩╝üµê┐Θù┤σòèπÇüµ£║σà│σòèπÇüΘù¿σòèπÇüΘÆÑσîÖσòèΓǪΓǪσô¬Σ╕¬τû»σ¡ÉΦ«╛Φ«íΣ║åΦ┐ÖΣ╕Çσêç∩╝ƒµêæΘÇâσç║σÄ╗σÉÄΣ╕Çσ«ÜΣ╝Üσ«░Σ║åΣ╗û∩╝ü","Ik haat dit doolhof! Kamers, vallen, deurenΓǪ welke idioot heeft dit ontworpen? Als ik hier ooit uit kom dan zwaait er wat!","Je d├⌐teste ce monde ! Chambres, pi├¿ges, portes, cl├⌐sΓǪ Quel est l\'abruti qui l\'a imagin├⌐ ? Si jamais je m\'en sors, il me le paiera !","Ich hasse diese Welt! R├ñume, Fallen, T├╝ren, Schl├╝sselΓǪ Welcher Verr├╝ckte hat sich das blo├ƒ ausgedacht? Wenn ich jemals von hier entkomme, wird er das bereuen!","Nienawidz─Ö tego ┼¢wiata! Pokoje, pu┼éapki, drzwi, klucze... Jaki szaleniec to zaprojektowa┼é? Je┼¢li kiedykolwiek uda mi si─Ö uciec, po┼╝a┼éuje!","Jag hatar den h├ñr v├ñrlden! Rum, f├ñllor, d├╢rrar, nycklar ... Vilken d├Ñre har skapat det h├ñr? Han ska allt f├Ñ!","Odio questo mondo! Stanze, trappole, porte, chiaviΓǪ Quale mente malata ha partorito tutto ci├▓? Se mai riuscir├▓ a scappare, far├á i conti con me!","┬íOdio este mundo! Habitaciones, trampas, puertas, llavesΓǪ ┬┐A qu├⌐ lun├ítico se le ha podido ocurrir esto? Si me escapo, har├⌐ que se arrepienta por todo lo que ha hecho.","Detesto este mundo! Salas, al├ºap├╡es, portas, chavesΓǪ Que lun├ítico criou isto? Se eu n├úo escapar, ele vai se arrepender!","Saya membenci dunia ini! Ruangan, jebakan, pintu, kunciΓǪ Orang gila mana yang mendesain ini? Jika saya pernah melarikan diri, maka dia akan merasa bersalah!","╨¥╨╡╨╜╨░╨▓╨╕╨╢╤â ╤ì╤é╨╛╤é ╨╝╨╕╤Ç! ╨Ü╨╛╨╝╨╜╨░╤é╤ï, ╨╗╨╛╨▓╤â╤ê╨║╨╕, ╨┤╨▓╨╡╤Ç╨╕, ╨║╨╗╤Ä╤ç╨╕ΓǪ ╨º╤é╨╛ ╨╖╨░ ╨▒╨╡╨╖╤â╨╝╨╡╤å ╤ü╨╛╨╖╨┤╨░╨╗ ╨▓╤ü╨╡ ╤ì╤é╨╛? ╨ò╤ü╨╗╨╕ ╨╝╨╜╨╡ ╤â╨┤╨░╤ü╤é╤ü╤Å ╨▓╤ï╨▒╤Ç╨░╤é╤î╤ü╤Å ╨╛╤é╤ü╤Ä╨┤╨░, ╨╛╨╜ ╨┐╨╛╨╢╨░╨╗╨╡╨╡╤é ╨╛╨▒ ╤ì╤é╨╛╨╝!","I hate this world! Rooms, traps, doors, keysΓǪ What lunatic designed this? He\'ll be sorry if I ever escape from here!","I hate this world! Rooms, traps, doors, keysΓǪ What lunatic designed this? He\'ll be sorry if I ever escape from here!","Bu d├╝nyadan nefret ediyorum! Odalar, tuzaklar, kap─▒lar, anahtarlar... Hangi ka├º─▒k tasarlam─▒┼ƒ bunu? Buradan ├º─▒kmay─▒ ba┼ƒarabilirsem buna pi┼ƒman olacak!","Saya benci dunia ini! Bilik, perangkap, pintu, kunci...Orang gila mana yang merekanya?Jika saya dapat melepaskan diri, dia akan menyesal!","Eu odeio este mundo! Salas, armadilhas, portas, chaves... Quem foi o lun├ítico que criou isto? Se conseguir escapar, est├í tramado!"]);
  1686.          messages.push(["IΓÇÖm tired. I can\'t go on. How much further is it to the real end?","τ£ƒµ¡úτÜäσç║σÅúσê░σ║òΦ┐ÿµ£ëσñÜΦ┐£∩╝ƒµêæσñ¬τ┤»Σ║å∩╝îµêæµâ│µêæσåìΣ╣ƒσç║Σ╕ìσÄ╗Σ║åπÇé","Ik ben zo moe. Ik kan echt niet meer verder. Hoe ver is het nog voordat ik bij het echte einde kom?","Je n\'en peux plus. Je n\'arrive plus ├á avancer. Jusqu\'o├╣ faudra-t-il aller pour trouver la vraie sortie ?","Ich bin m├╝de. Ich kann nicht mehr. Wie weit ist es denn noch bis zum Ausgang?","Jestem zm─Öczony. Nie mog─Ö i┼¢─ç dalej. Jak daleko jeszcze do ko┼äca?","Jag ├ñr tr├╢tt. Jag orkar inte forts├ñtta. Hur l├Ñngt ├ñr det kvar till slutet?","Sono stanco. Non ce la faccio pi├╣. Quanto dista ancora la vera fine?","Estoy cansado. No puedo seguir. ┬┐Cu├ínto queda para el verdadero final?","Estou cansado. N├úo consigo prosseguir. Ser├í que a sa├¡da ainda est├í muito longe?","Saya lelah. Saya tidak bisa lanjut lagi. Berapa jauh lagi untuk menuju ke akhir yang nyata?","╨» ╤â╤ü╤é╨░╨╗ ╨╕ ╨╜╨╡ ╨▓ ╤ü╨╕╨╗╨░╤à ╨┐╤Ç╨╛╨┤╨╛╨╗╨╢╨░╤é╤î ╨┐╤â╤é╤î. ╨í╨║╨╛╨╗╤î╨║╨╛ ╨╢╨╡ ╨╡╤ë╨╡ ╨╛╤ü╤é╨░╨╗╨╛╤ü╤î ╨▒╨╗╤â╨╢╨┤╨░╤é╤î ╨┤╨╛ ╨╜╨░╤ü╤é╨╛╤Å╤ë╨╡╨│╨╛ ╨║╨╛╨╜╤å╨░ ╨╗╨░╨▒╨╕╤Ç╨╕╨╜╤é╨░?","IΓÇÖm tired. I can\'t go on. How much further is it to the real end?","IΓÇÖm tired. I can\'t go on. How much further is it to the real end?","├çok yoruldum. Devam edemeyece─ƒim. Ger├ºek ├º─▒k─▒┼ƒa ula┼ƒmama daha ne kadar kald─▒?","Saya letih. Saya tidak dapat meneruskannya. Berapa jauh lagi ke penghujung sebenar?","Estou cansado. N├úo consigo avan├ºar mais. Ser├í que ainda falta muito at├⌐ ├á verdadeira sa├¡da?"]);
  1687.          messages.push(["I can\'t go on anymore. If you find this, please take my red mantle. It\'s the most precious thing I own!","µêæµö╛σ╝âΣ║åπÇéσªéµ₧£µ£ëΣ║║µ¥Ñσê░Φ┐ÖΘçî∩╝îΦ»╖µèèµêæµ£Çσ┐âτê▒τÜäτ║óµè½ΘúÄσ╕ªΦ╡░σɺΓǪΓǪ","Ik kan niet meer verder. Aan wie dit vindt: neem mijn mantel. Het is zeer waardevol!","Je suis ├á bout de forces. Si vous trouvez cela, prenez donc mon manteau rouge. C\'est ce que je poss├¿de de plus pr├⌐cieux !","Ich kann nicht mehr weiter. Wer das hier findet, soll bitte meinen roten Mantel an sich nehmen. Er ist das Kostbarste, was ich habe!","Ju┼╝ nie mog─Ö i┼¢─ç dalej. Je┼¢li to znajdziesz, zabierz prosz─Ö m├│j czerwony p┼éaszcz. To najceniejsza rzecz, jak─à posiadam!","Jag orkar inte l├ñngre. Om du l├ñser det h├ñr - ta min r├╢da mantel. Det ├ñr min k├ñraste ├ñgodel!","Non ce la faccio ad andare avanti. Se trovate questo, prendete il mio mantello rosso. ├ê la cosa pi├╣ preziosa che ho!","No puedo continuar. Si encuentras esto, coge mi manto rojo. ┬íEs lo m├ís preciado que tengo!","N├úo consigo continuar. Se encontrar este bilhete, fique com a minha capa vermelha. ├ë o que tenho de mais precioso!","Saya tidak bisa lanjut lagi. Jika anda menemukan ini, tolong ambil mantel merah saya. Itu merupakan benda paling berharga yang saya miliki!","╨» ╨╜╨╡ ╨▓ ╤ü╨╕╨╗╨░╤à ╨╕╨┤╤é╨╕ ╨┤╨░╨╗╤î╤ê╨╡. ╨ò╤ü╨╗╨╕ ╨▓╤ï ╨╜╨░╤ê╨╗╨╕ ╤ì╤é╤â ╨╖╨░╨┐╨╕╤ü╨║╤â, ╨╝╨╛╨╢╨╡╤é╨╡ ╨▓╨╖╤Å╤é╤î ╨╝╨╛╨╣ ╨║╤Ç╨░╤ü╨╜╤ï╨╣ ╨┐╨╗╨░╤ë - ╤ì╤é╨╛ ╤ü╨░╨╝╨╛╨╡ ╤å╨╡╨╜╨╜╨╛╨╡ ╨╕╨╖ ╤é╨╛╨│╨╛, ╤ç╤é╨╛ ╤â ╨╝╨╡╨╜╤Å ╨╡╤ü╤é╤î!","I can\'t go on any more. If you find this, please take my red mantle. It is the most precious thing I own!","I can\'t go on any more. If you find this, please take my red mantle. It is the most precious thing I own!","Art─▒k devam edemeyece─ƒim. Bu notu bulursan─▒z, k─▒rm─▒z─▒ pelerinimi al─▒n. O benim en de─ƒerli varl─▒─ƒ─▒m!","Saya tidak dapat meneruskannya lagi. Jika anda menjumpai nota ini, sila ambil mantel merah saya. Ia merupakan harta paling bernilai saya miliki!","N├úo consigo avan├ºar mais. Se ler isto, leve a minha manta vermelha. ├ë a coisa mais preciosa que tenho!"]);
  1688.          messages.push(["I\'m starting to see things from the corner of my eyes.Shadows, cakes, exitsΓǪ they\'re all just a lie!","σç║σÅúπÇüΘÿ│σàëπÇüΦ¢ïτ│ò∩╝îΣ╕║Σ╗ÇΣ╣êµêæτ£╝σëìσç║τÄ░Σ║åΦ┐ÖΣ║¢Σ╕£ΦÑ┐ΓǪΓǪΦ┐ÖΣ╗ûσªêτÜäΘâ╜µÿ»σ╣╗Φºë∩╝ü","Ik begin dingen te zien die er niet zijn. Schaduwen, taarten, uitgangenΓǪ allemaal leugens!","Je commence ├á voir des choses qui n\'existent pas. Des ombres, des g├óteaux, des issues... rien que des mensonges !","Ich beginne schon, Dinge aus dem Augenwinkel zu sehen. Schatten, Kuchen, Ausg├ñngeΓǪ aber nichts davon ist real!","Zaczynam widzie─ç r├│┼╝ne rzeczy k─àtem oka. Cienie, ciastka, wyj┼¢cia...  to wszystko tylko przywidzenia! ","Jag b├╢rjar se saker i ├╢gonvr├Ñn. Skuggor, t├Ñrtor, utg├Ñngar ... det ├ñr bara en illusion!","Comincio a vedere strane cose con la coda dell\'occhio. Ombre, cibo, uscite... Ma ├¿ tutto una menzogna!","Estoy empezando a ver cosas por el rabillo del ojo. Sombras, tartas, salidasΓǪ ┬íEs todo mentira!","Estou come├ºando a ver coisas de soslaio. Sombras, bolos, sa├¡dasΓǪ ├⌐ tudo mentira!","Saya mulai melihat benda-benda dari sudut mata saya. Bayangan, kue, jalan keluarΓǪ mereka semua hanyalah suatu kebohongan!","╨Ü╤Ç╨░╨╡╨╝ ╨│╨╗╨░╨╖╨░ ╤Å ╨╜╨░╤ç╨╕╨╜╨░╤Ä ╨╖╨░╨╝╨╡╤ç╨░╤é╤î ╤ü╤é╤Ç╨░╨╜╨╜╤ï╨╡ ╨▓╨╡╤ë╨╕ΓǪ ╨ó╨╡╨╜╨╕, ╨┐╨╕╤Ç╨╛╨│╨╕, ╨▓╤ï╤à╨╛╨┤╤ïΓǪ ╨▓╤ü╨╡ ╤ì╤é╨╛ ╨┐╤Ç╨╛╤ü╤é╨╛ ╨╝╨╕╤Ç╨░╨╢╨╕!","I\'m starting to see things out of the corner of my eye. Shadows, cakes, exitsΓǪ they\'re all just a lie!","I\'m starting to see things out of the corner of my eye. Shadows, cakes, exitsΓǪ they\'re all just a lie!","Bir ┼ƒeyler g├╢rmeye ba┼ƒlad─▒m. G├╢lgeler, kekler, ├º─▒k─▒┼ƒlarΓǪ hepsi bir hayal gibi!","Saya mula melihat benda dari sudut mata saya. Bayang-bayang, kek, jalan keluar... semuanya bohong belaka!","Estou a come├ºar a ver coisas pelo canto dos olhos. Sombras, bolos, sa├¡das... ├ë tudo mentira!"]);
  1689.          messages.push(["I can hear a strange sound coming from the next room. It\'s like a huge thing is blocking the door. Perhaps, if I rotate enough and move the thing out of the way, the door will open.","µêæσÉ¼ΦºüΘÜöσúüµê┐Θù┤Σ╝áµ¥ÑτÜäσÑçµÇ¬σôìσú░∩╝îσâŵÿ»µ£ëΣ╗ÇΣ╣êσ╖¿σñºτÜäΣ╕£ΦÑ┐πÇéµÿ»Σ╕ìµÿ»µêæµùïΦ╜¼σê░σÉêΘÇéτÜäΣ╜ìτ╜«ΘéúΘçîτÜäτºÿΘù¿σ░▒Σ╝Üσ╝ÇσÉ»σæó∩╝ƒ","Ik kan een geluid horen in de volgende kamer. Het klinkt alsof een groot iets de deur blokkeert. Misschien als ik deze kamer goed draai kan ik het ding in de andere kamer uit de weg krijgen.","J\'entends un dr├┤le de bruit de la pi├¿ce d\'├á c├┤t├⌐. On dirait  un ├⌐norme obstacle qui bloque la porte. Si je tourne assez et si j\'enl├¿ve l\'obstacle de la porte, j\'arriverai peut-├¬tre ├á sortir.","Ich h├╢re ein seltsames Ger├ñusch aus dem n├ñchsten Raum kommen. Mir scheint, als blockiere ein gro├ƒes Ding die T├╝r. Vielleicht bewegt es sich ja, wenn ich diese Welt genug drehe. Vielleicht ├╢ffnet sich die T├╝r dann ja.","S┼éysz─Ö dziwny d┼║wi─Ök dochodz─àcy z s─àsiedniego pokoju. Zupe┼énie jakby co┼¢ wielkiego blokowa┼éo drzwi. Mo┼╝e je┼¢li dostatecznie obr├│c─Ö pok├│j i usun─Ö t─Ö rzecz z drogi, drzwi si─Ö otworz─à.","Jag h├╢r underliga ljud fr├Ñn n├ñsta rum. N├Ñgot stort verkar blockera d├╢rren. Om jag roterar rummet kanske saken flyttar sig och d├╢rren ├╢ppnas.","Sento uno strano suono provenire dalla stanza accanto. Qualcosa di gigantesco blocca la porta. Forse se ruotassi a sufficienza riuscirei a spostare questa cosa consentendo l\'apertura della porta.","Oigo un extra├▒o sonido proveniente de la habitaci├│n de al lado. Es como si una cosa enorme estuviese bloqueando la puerta. Quiz├ís, si rotase lo suficiente y me quitase de delante, la puerta se abrir├¡a.","Estou ouvindo um ru├¡do estranho na sala ao lado. Parece que algo grande est├í bloqueando a porta. Talvez, se eu girar o bastante e tirar essa coisa do caminho, a porta se abra.","Saya bisa mendengar suara aneh yang datang dari ruangan sebelah. Itu semacam benda besar yang menutupi pintu tersebut. Kemungkinan jika saya memutar dan memindahkan benda keluar, maka pintu akan terbuka.","╨ÿ╨╖ ╤ü╨╛╤ü╨╡╨┤╨╜╨╡╨╣ ╨║╨╛╨╝╨╜╨░╤é╤ï  ╨┤╨╛╨╜╨╛╤ü╨╕╤é╤ü╤Å ╤ü╤é╤Ç╨░╨╜╨╜╤ï╨╣ ╨╖╨▓╤â╨║. ╨ƒ╨╛╤à╨╛╨╢╨╡, ╨┤╨▓╨╡╤Ç╤î ╨╖╨░╨▓╨░╨╗╨╡╨╜╨░ ╨║╨░╨║╨╕╨╝-╤é╨╛ ╨│╤Ç╨╛╨╝╨╛╨╖╨┤╨║╨╕╨╝ ╨┐╤Ç╨╡╨┤╨╝╨╡╤é╨╛╨╝. ╨Æ╨╛╨╖╨╝╨╛╨╢╨╜╨╛, ╨╡╤ü╨╗╨╕ ╨┐╨╛╨▓╨╡╤Ç╨╜╤â╤é╤î ╨║╨╛╨╝╨╜╨░╤é╤â ╨╕ ╤ü╨┤╨▓╨╕╨╜╤â╤é╤î ╨┐╤Ç╨╡╨┤╨╝╨╡╤é ╨▓ ╤ü╤é╨╛╤Ç╨╛╨╜╤â, ╨┤╨▓╨╡╤Ç╤î ╨╛╤é╨║╤Ç╨╛╨╡╤é╤ü╤Å... ","I can hear a strange sound coming from the next room. It\'s like a huge thing is blocking the door. Perhaps if I rotate enough and move the thing out of the way, the door will open.","I can hear a strange sound coming from the next room. It\'s like a huge thing is blocking the door. Perhaps if I rotate enough and move the thing out of the way, the door will open.","Di─ƒer odadan tuhaf sesler geliyor. Sanki kap─▒n─▒n arkas─▒nda devasa bir ┼ƒey var. Yeterince d├╢nd├╝r├╝rsem o ┼ƒeyi oradan kald─▒r─▒p kap─▒y─▒ a├ºabilirim.","Saya boleh mendengar bunyi pelik yang datang dari bilik sebelah. Ia seperti benda yang besar sedang menghalang pintu. Jika saya putar dan memindahkan benda tersebut daripada laluan, pintu akan terbuka.","Estou a ouvir um barulho estranho vindo da sala ao lado. ├ë como se um grande obst├ículo estivesse a bloquear a porta. Talvez se o conseguir mover o suficiente a porta abrir├í."]);
  1690.          messages.push(["This path must lead to the real exit! Finally, I feared this insane maze would never end!","Φ┐Öµ¥íΦ╖»σ╛êσÅ»Φâ╜σ░▒µÿ»τ£ƒµ¡úτÜäσç║σÅú∩╝üΣ╜åµêæσ«│µÇòΦ┐ÖΣ╕¬Σ╕ûτòîσ░▒µÿ»µ░╕µùᵡóσóâτÜäΓǪΓǪ","Ik ben bijna bij de echte uitgang! Eindelijk, ik was al bang dat dit dolle doolhof nooit zou eindigen!","Ce chemin doit mener vers la vraie sortie ! ├ça y est, j\'ai bien cru que ce labyrinthe infernal n\'en finirait jamais !","Dieser Weg muss zum Ausgang f├╝hren\" Endlich! Ich dachte schon, ich finde nie einen Weg aus diesem verr├╝ckten Labyrinth heraus!","Ta ┼¢cie┼╝ka musi prowadzi─ç do prawdziwego wyj┼¢cia! Nareszcie... Ba┼éem si─Ö, ┼╝e ten szalony labirynt nigdy si─Ö nie sko┼äczy!","Den h├ñr v├ñgen m├Ñste leda till den riktiga utg├Ñngen. Jag var r├ñdd att det aldrig skulle ta slut!","Questo sentiero deve condurre alla vera uscita! Finalmente. Temevo che questo folle labirinto non avrebbe avuto mai fine!","┬íEste camino seguro que lleva a la salida real!┬íPor fin! Cre├¡a que este laberinto de locos nunca terminar├¡a.","Este caminho deve levar ├á sa├¡da verdadeira! Finalmente! Pensei que este labirinto louco n├úo teria fim!","Jalur ini seharusnya menuju ke jalan keluar yang sesungguhnya! Akhirnya, Saya ketakutan kalau jalan liku-liku ini tidak akan pernah berakhir!","╨¡╤é╨╛╤é ╨┐╤â╤é╤î, ╨┤╨╛╨╗╨╢╨╜╨╛ ╨▒╤ï╤é╤î, ╨▓╨╡╨┤╨╡╤é ╨║ ╨╜╨░╤ü╤é╨╛╤Å╤ë╨╡╨╝╤â ╨▓╤ï╤à╨╛╨┤╤â! ╨¥╨░╨║╨╛╨╜╨╡╤å-╤é╨╛! ╨» ╤â╨╢ ╨▒╨╛╤Å╨╗╤ü╤Å, ╤ç╤é╨╛ ╤ì╤é╨╛╤é ╨▒╨╡╨╖╤â╨╝╨╜╤ï╨╣ ╨╗╨░╨▒╨╕╤Ç╨╕╨╜╤é ╨╜╨╕╨║╨╛╨│╨┤╨░ ╨╜╨╡ ╨╖╨░╨║╨╛╨╜╤ç╨╕╤é╤ü╤Å!","This path must lead to the real exit! At last! I was afraid this insane maze would never end!","This path must lead to the real exit! At last! I was afraid this insane maze would never end!","Bu yol ger├ºek ├º─▒k─▒┼ƒa gidiyor olmal─▒! Sonunda, bu ├º─▒lg─▒n labirentin hi├º bitmeyece─ƒinden korkuyordum!","Laluan ini mesti menuju ke jalan keluar sebenar! Akhirnya, saya berasa takut jika pagar sesat gila ini tidak akan tamat!","Este caminho deve conduzir at├⌐ ├á verdadeira sa├¡da! Finalmente. J├í pensava que este estranho labirinto n├úo tinha fim!"]);
  1691.          messages.push(["SECRET\n  Page 4\n\nDRAGON","SECRET\n  Page 4\n\nDRAGON","GEHEIM\n  Pagina 4\n\nDRAGON","SECRET\n  Page 4\n\nDRAGON","GEHEIM\n  Seite 4\n\nDRAGON","TAJNE\n  Strona 4\n\nDRAGON","HEMLIGT\n  Sidan 4\n\nDRAGON","RISERVATO\n  Pagina 4\n\nDRAGON","SECRETO\n  P├ígina 4\n\nDRAGON","SEGREDO\n  P├ígina 4\n\nDRAGON","RAHASIA\n  Halaman 4\n\nDRAGON","╨í╨ò╨Ü╨á╨ò╨ó\n  ╨í╤é╤Ç╨░╨╜╨╕╤å╨░ 4\n\nDRAGON","SECRET\n  Page 4\n\nDRAGON","SECRET\n  Page 4\n\nDRAGON","├çOK G─░ZL─░\n  Sayfa 4\n\nDRAGON","RAHSIA\n  Halaman 4\n\nDRAGON","SEGREDO\n  P├ígina 4\n\nDRAGON"]);
  1692.          messages.push(["SECRET\n  Page 3\n\n2008","SECRET\n  Page 3\n\n2008","GEHEIM\n  Pagina 3\n\n2008","SECRET\n  Page 3\n\n2008","GEHEIM\n  Seite 3\n\n2008","TAJNE\n  Strona 3\n\n2008","HEMLIGT\n  Sidan 3\n\n2008","RISERVATO\n  Pagina 3\n\n2008","SECRETO\n  P├ígina 3\n\n2008","SEGREDO\n  P├ígina 3\n\n2008","RAHASIA\n  Halaman 3\n\n2008","╨í╨ò╨Ü╨á╨ò╨ó\n  ╨í╤é╤Ç╨░╨╜╨╕╤å╨░ 3\n\n2008","SECRET\n  Page 3\n\n2008","SECRET\n  Page 3\n\n2008","├çOK G─░ZL─░\n  Sayfa 3\n\n2008","RAHSIA\n  Halaman 3\n\n2008","SEGREDO\n  P├ígina 3\n\n2008"]);
  1693.          messages.push(["SECRET\n  Page 2\n\nPROJECT J","SECRET\n  Page 2\n\nPROJECT J","GEHEIM\n  Pagina 2\n\nPROJECT J","SECRET\n  Page 2\n\nPROJECT J","GEHEIM\n  Seite 2\n\nPROJECT J","TAJNE\n  Strona 2\n\nPROJECT J","HEMLIGT\n  Sidan 2\n\nPROJECT J","RISERVATO\n  Pagina 2\n\nPROJECT J","SECRETO\n  P├ígina 2\n\nPROJECT J","SEGREDO\n  P├ígina 2\n\nPROJECT J","RAHASIA\n  Halaman 2\n\nPROJECT J","╨í╨ò╨Ü╨á╨ò╨ó\n  ╨í╤é╤Ç╨░╨╜╨╕╤å╨░ 2\n\nPROJECT J","SECRET\n  Page 2\n\nPROJECT J","SECRET\n  Page 2\n\nPROJECT J","├çOK G─░ZL─░\n  Sayfa 2\n\nPROJECT J","RAHSIA\n  Halaman 2\n\nPROJECT J","SEGREDO\n  P├ígina 2\n\nPROJECT J"]);
  1694.          messages.push(["SECRET\n  Page 1\n\n1994","SECRET\n  Page 1\n\n1994","GEHEIM\n  Pagina 1\n\n1994","SECRET\n  Page 1\n\n1994","GEHEIM\n  Seite 1\n\n1994","TAJNE\n  Strona 1\n\n1994","HEMLIGT\n  Sidan 1\n\n1994","RISERVATO\n  Pagina 1\n\n1994","SECRETO\n  P├ígina 1\n\n1994","SEGREDO\n  P├ígina 1\n\n1994","RAHASIA\n  Halaman 1\n\n1994","╨í╨ò╨Ü╨á╨ò╨ó\n  ╨í╤é╤Ç╨░╨╜╨╕╤å╨░ 1\n\n1994","SECRET\n  Page 1\n\n1994","SECRET\n  Page 1\n\n1994","├çOK G─░ZL─░\n  Sayfa 1\n\n1994","RAHSIA\n  Halaman 1\n\n1994","SEGREDO\n  P├ígina 1\n\n1994"]);
  1695.       }
  1696.       
  1697.       public function createMainMap() : void
  1698.       {
  1699.          roomLevel = [1,2,1,3,4,2,1,2,4,1,3,1,3,1,4,4,1,4,1,2,2,2,1,1,1,1,1,3,2,1,60];
  1700.          createRoom(11,11,50,"map");
  1701.          addGroup([[1,1]],"man",false);
  1702.          addGroup([[5,5]],"virtual");
  1703.          addGroup([[4,6],[4,7]],"virtual");
  1704.          addGroup([[3,7]],"virtual");
  1705.          addGroup([[2,5],[2,6],[3,6]],"virtual");
  1706.          addGroup([[1,8],[1,9],[2,8],[2,9]],"virtual");
  1707.          addGroup([[1,6],[1,7]],"virtual");
  1708.          addGroup([[3,9]],"virtual");
  1709.          addGroup([[4,8],[4,9]],"virtual");
  1710.          addGroup([[5,7],[5,8],[6,7],[6,8]],"virtual");
  1711.          addGroup([[6,6]],"virtual");
  1712.          addGroup([[7,6],[8,5],[8,6]],"virtual");
  1713.          addGroup([[8,7]],"virtual");
  1714.          addGroup([[7,8],[6,9],[7,9]],"virtual");
  1715.          addGroup([[9,6]],"virtual");
  1716.          addGroup([[8,8],[8,9],[9,8],[9,9]],"virtual");
  1717.          addGroup([[6,4],[6,5],[7,4],[7,5]],"virtual");
  1718.          addGroup([[7,3]],"virtual");
  1719.          addGroup([[7,1],[7,2],[8,1],[8,2]],"virtual");
  1720.          addGroup([[6,1]],"virtual");
  1721.          addGroup([[9,2],[9,3]],"virtual");
  1722.          addGroup([[8,4],[9,4]],"virtual");
  1723.          addGroup([[3,4],[3,5]],"virtual");
  1724.          addGroup([[4,4]],"virtual");
  1725.          addGroup([[4,3]],"virtual");
  1726.          addGroup([[5,4]],"virtual",true,"hohohohoho");
  1727.          addGroup([[1,4]],"virtual");
  1728.          addGroup([[1,3]],"virtual");
  1729.          addGroup([[1,2],[2,1],[2,2]],"virtual");
  1730.          addGroup([[3,1],[4,1]],"virtual");
  1731.          addGroup([[5,1]],"virtual");
  1732.          addGroup(get2DArray([0,0],[10,0]),"virtual");
  1733.          addGroup(get2DArray([0,1],[0,10]),"virtual");
  1734.          addGroup(get2DArray([1,10],[10,10]),"virtual");
  1735.          addGroup(get2DArray([10,1],[10,9]),"virtual");
  1736.          addGroup([[4,5]],"book",false,2);
  1737.          addGroup([[2,7]],"book",false,4);
  1738.          addGroup([[5,6]],"book",false,5);
  1739.          addGroup([[8,3]],"book",false,8);
  1740.          addGroup([[1,1]],"book",false,11);
  1741.       }
  1742.       
  1743.       public function getMessage(param1:int) : String
  1744.       {
  1745.          return messages[param1 - 1][Language._languageNum];
  1746.       }
  1747.       
  1748.       private function setManPosition(param1:Array) : void
  1749.       {
  1750.          var _loc2_:int = 0;
  1751.          _loc2_ = 0;
  1752.          while(_loc2_ < param1.length)
  1753.          {
  1754.             cMan.push(param1[_loc2_]);
  1755.             _loc2_++;
  1756.          }
  1757.       }
  1758.       
  1759.       private function addEntrances() : void
  1760.       {
  1761.          addEntrance([0,5],["B"],-1);
  1762.          addEntrance([5,0],["R"],-4);
  1763.          addEntrance([10,5],["T"],-3);
  1764.          addEntrance([5,10],["L"],-2);
  1765.          addEntrance([5,5],["T"],1,0);
  1766.          addEntrance([4,6],["L"],2,0);
  1767.          addEntrance([4,7],["T"],2,1);
  1768.          addEntrance([3,7],["L"],3,0);
  1769.          addEntrance([3,7],["B"],3,1);
  1770.          addEntrance([2,5],["B"],4,0);
  1771.          addEntrance([2,6],["R"],4,1);
  1772.          addEntrance([3,6],["R"],4,2);
  1773.          addEntrance([1,8],["L"],5,0);
  1774.          addEntrance([2,8],["L"],5,1);
  1775.          addEntrance([2,9],["B"],5,2);
  1776.          addEntrance([1,6],["L"],6,0);
  1777.          addEntrance([1,7],["R"],6,1);
  1778.          addEntrance([3,9],["L"],7,0);
  1779.          addEntrance([3,9],["T"],7,1);
  1780.          addEntrance([4,8],["T"],8,0);
  1781.          addEntrance([4,8],["B"],8,1);
  1782.          addEntrance([5,7],["L"],9,0);
  1783.          addEntrance([6,7],["L"],9,1);
  1784.          addEntrance([5,8],["T"],9,2);
  1785.          addEntrance([6,6],["L"],10,0);
  1786.          addEntrance([6,6],["R"],10,1);
  1787.          addEntrance([6,6],["B"],10,2);
  1788.          addEntrance([7,6],["T"],11,0);
  1789.          addEntrance([8,6],["B"],11,1);
  1790.          addEntrance([8,6],["R"],11,2);
  1791.          addEntrance([8,7],["L"],12,0);
  1792.          addEntrance([8,7],["T"],12,1);
  1793.          addEntrance([7,8],["L"],13,0);
  1794.          addEntrance([6,9],["T"],13,1);
  1795.          addEntrance([7,9],["B"],13,2);
  1796.          addEntrance([9,6],["T"],14,0);
  1797.          addEntrance([9,6],["R"],14,1);
  1798.          addEntrance([9,8],["L"],15,0);
  1799.          addEntrance([8,9],["T"],15,1);
  1800.          addEntrance([7,4],["L"],16,0);
  1801.          addEntrance([6,5],["R"],16,1);
  1802.          addEntrance([7,3],["L"],17,0);
  1803.          addEntrance([7,3],["R"],17,1);
  1804.          addEntrance([7,1],["T"],18,0);
  1805.          addEntrance([7,2],["R"],18,1);
  1806.          addEntrance([8,1],["B"],18,2);
  1807.          addEntrance([6,1],["B"],19,0);
  1808.          addEntrance([9,2],["L"],20,0);
  1809.          addEntrance([9,3],["T"],20,1);
  1810.          addEntrance([9,3],["R"],20,2);
  1811.          addEntrance([9,4],["L"],21,0);
  1812.          addEntrance([9,4],["R"],21,1);
  1813.          addEntrance([3,4],["B"],22,0);
  1814.          addEntrance([3,5],["T"],22,1);
  1815.          addEntrance([4,4],["L"],23,0);
  1816.          addEntrance([4,4],["T"],23,1);
  1817.          addEntrance([4,4],["B"],23,2);
  1818.          addEntrance([4,3],["R"],24,0);
  1819.          addEntrance([5,4],["T"],25,0);
  1820.          addEntrance([1,4],["L"],26,0);
  1821.          addEntrance([1,4],["B"],26,1);
  1822.          addEntrance([1,3],["L"],27,0);
  1823.          addEntrance([1,3],["R"],27,1);
  1824.          addEntrance([1,2],["L"],28,0);
  1825.          addEntrance([1,2],["R"],28,1);
  1826.          addEntrance([2,1],["B"],28,2);
  1827.          addEntrance([3,1],["T"],29,0);
  1828.          addEntrance([4,1],["B"],29,1);
  1829.          addEntrance([5,1],["L"],30,0);
  1830.          addEntrance([5,1],["T"],30,1);
  1831.       }
  1832.       
  1833.       private function addGroup(param1:Array, param2:String = "wall", param3:Boolean = true, param4:* = null) : void
  1834.       {
  1835.          cRoom.push({
  1836.             "points":param1,
  1837.             "type":param2,
  1838.             "isStatic":param3,
  1839.             "extra":param4
  1840.          });
  1841.       }
  1842.       
  1843.       private function addEntrance(param1:Array, param2:Array, param3:int, param4:uint = 0) : void
  1844.       {
  1845.          var _loc5_:* = undefined;
  1846.          for each(_loc5_ in param2)
  1847.          {
  1848.             switch(_loc5_)
  1849.             {
  1850.                case "L":
  1851.                   mapEntrances.push({
  1852.                      "point":param1,
  1853.                      "x":param1[1] * 50 - 25,
  1854.                      "y":param1[0] * 50,
  1855.                      "id":param3,
  1856.                      "entranceId":param4,
  1857.                      "dir":"L"
  1858.                   });
  1859.                   break;
  1860.                case "R":
  1861.                   mapEntrances.push({
  1862.                      "point":param1,
  1863.                      "x":param1[1] * 50 + 25,
  1864.                      "y":param1[0] * 50,
  1865.                      "id":param3,
  1866.                      "entranceId":param4,
  1867.                      "dir":"R"
  1868.                   });
  1869.                   break;
  1870.                case "T":
  1871.                   mapEntrances.push({
  1872.                      "point":param1,
  1873.                      "x":param1[1] * 50,
  1874.                      "y":param1[0] * 50 - 25,
  1875.                      "id":param3,
  1876.                      "entranceId":param4,
  1877.                      "dir":"T"
  1878.                   });
  1879.                   break;
  1880.                case "B":
  1881.                   mapEntrances.push({
  1882.                      "point":param1,
  1883.                      "x":param1[1] * 50,
  1884.                      "y":param1[0] * 50 + 25,
  1885.                      "id":param3,
  1886.                      "entranceId":param4,
  1887.                      "dir":"B"
  1888.                   });
  1889.                   break;
  1890.             }
  1891.          }
  1892.       }
  1893.    }
  1894. }
  1895.