DroidQuest/src/com/droidquest/levels/RO6.java

741 lines
41 KiB
Java

package com.droidquest.levels;
import com.droidquest.Room;
import com.droidquest.RoomDisplay;
import com.droidquest.avatars.GameCursor;
import com.droidquest.avatars.HelpCam;
import com.droidquest.avatars.Remote;
import com.droidquest.avatars.SolderingPen;
import com.droidquest.decorations.Arrow;
import com.droidquest.decorations.Graphix;
import com.droidquest.devices.DirectionalSensor;
import com.droidquest.items.*;
import com.droidquest.materials.*;
import com.droidquest.materials.switches.Switch;
import java.awt.*;
class RO6 extends Level {
public RO6(RoomDisplay rd) {
super(rd);
materials.addElement(new Material(true, false)); // 0 = Empty Space
materials.addElement(new Material(Color.blue, false, true)); // 1 = Blue
materials.addElement(new Material(Color.white, false, true)); // 2 = White
materials.addElement(new Material(Color.red, false, true)); // 3 = Red
materials.addElement(new Material(new Color(255, 128, 0), false, true)); // 4 = Orange
materials.addElement(new Material(Color.yellow, false, true)); // 5 = Yellow
materials.addElement(new Material(Color.green, false, true)); // 6 = Green
materials.addElement(new Material(new Color(255, 0, 255), false, true)); // 7 = Purple
materials.addElement(new HotWires(HotWires.UP
+ HotWires.DOWN
+ HotWires.LEFT
+ HotWires.RIGHT,
true
)); // 8=HotWire cross
materials.addElement(new HotWires(HotWires.UP
+ HotWires.DOWN,
true
)); // 9=HotWire Vertical
materials.addElement(new HotWires(HotWires.LEFT
+ HotWires.RIGHT,
true
)); // 10=HotWire Horizontal
materials.addElement(new HotWires(HotWires.UP
+ HotWires.LEFT,
true
)); // 11=HotWire J
materials.addElement(new HotWires(HotWires.UP
+ HotWires.RIGHT,
true
)); // 12=HotWire L
materials.addElement(new HotWires(+HotWires.DOWN
+ HotWires.LEFT,
true
)); // 13=HotWire 7
materials.addElement(new HotWires(+HotWires.DOWN
+ HotWires.RIGHT,
true
)); // 14=HotWire r
materials.addElement(new HotWires(HotWires.DOWN
+ HotWires.LEFT
+ HotWires.RIGHT,
true
)); // 15=HotWire T
materials.addElement(new HotWires(HotWires.UP
+ HotWires.LEFT
+ HotWires.RIGHT,
true
)); // 16=HotWire _|_
materials.addElement(new HotWires(HotWires.UP
+ HotWires.DOWN
+ HotWires.RIGHT,
true
)); // 17=HotWire |-
materials.addElement(new HotWires(HotWires.UP
+ HotWires.DOWN
+ HotWires.LEFT,
true
)); // 18=HotWire -|
int[][] redlock = {
{Lock.WIDE},
{Lock.LEFT},
{Lock.DOWN},
{Lock.DOWN},
{Lock.RIGHT},
{1, 5, 0, 1, 6, 0, 1, 2, 3, 1, 9, 3},
{1, 4, 0, 1, 7, 0, 1, 1, 3, 1, 10, 3, 2, 5, 0, 2, 6, 0, 2, 2, 3, 2, 9, 3},
{2, 4, 0, 2, 7, 0, 2, 1, 3, 2, 10, 3, 3, 5, 0, 3, 6, 0, 3, 2, 3, 3, 9, 3},
{3, 4, 0, 3, 7, 0, 3, 1, 3, 3, 10, 3},
{Lock.REMOVE},
{Lock.LEFT},
{Lock.DOWN},
{Lock.DOWN},
{Lock.RIGHT},
{3, 4, 3, 3, 7, 3, 3, 1, 0, 3, 10, 0},
{2, 4, 3, 2, 7, 3, 2, 1, 0, 2, 10, 0, 3, 5, 3, 3, 6, 3, 3, 2, 0, 3, 9, 0},
{1, 4, 3, 1, 7, 3, 1, 1, 0, 1, 10, 0, 2, 5, 3, 2, 6, 3, 2, 2, 0, 2, 9, 0},
{1, 5, 3, 1, 6, 3, 1, 2, 0, 1, 9, 0}
};
materials.addElement(new Lock(Color.red, Color.red, redlock)); // 19=RedLock
int[][] orangelock = {
{Lock.WIDE},
{Lock.RIGHT},
{Lock.DOWN},
{Lock.RIGHT},
{4, 5, 0, 4, 6, 0, 4, 2, 4, 4, 9, 4},
{4, 4, 0, 4, 7, 0, 4, 1, 4, 4, 10, 4, 5, 5, 0, 5, 6, 0, 5, 2, 4, 5, 9, 4},
{5, 4, 0, 5, 7, 0, 5, 1, 4, 5, 10, 4, 6, 5, 0, 6, 6, 0, 6, 2, 4, 6, 9, 4},
{6, 4, 0, 6, 7, 0, 6, 1, 4, 6, 10, 4},
{Lock.REMOVE},
{Lock.RIGHT},
{Lock.DOWN},
{Lock.RIGHT},
{6, 4, 4, 6, 7, 4, 6, 1, 0, 6, 10, 0},
{5, 4, 4, 5, 7, 4, 5, 1, 0, 5, 10, 0, 6, 5, 4, 6, 6, 4, 6, 2, 0, 6, 9, 0},
{4, 4, 4, 4, 7, 4, 4, 1, 0, 4, 10, 0, 5, 5, 4, 5, 6, 4, 5, 2, 0, 5, 9, 0},
{4, 5, 4, 4, 6, 4, 4, 2, 0, 4, 9, 0}
};
materials.addElement(new Lock(new Color(255, 128, 0),
new Color(255, 128, 0), orangelock)); // 20=OrangeLock
int[][] yellowlock = {
{Lock.WIDE},
{Lock.LEFT},
{Lock.DOWN},
{Lock.RIGHT},
{7, 5, 0, 7, 6, 0, 7, 2, 5, 7, 9, 5},
{7, 4, 0, 7, 7, 0, 7, 1, 5, 7, 10, 5, 8, 5, 0, 8, 6, 0, 8, 2, 5, 8, 9, 5},
{8, 4, 0, 8, 7, 0, 8, 1, 5, 8, 10, 5, 9, 5, 0, 9, 6, 0, 9, 2, 5, 9, 9, 5},
{9, 4, 0, 9, 7, 0, 9, 1, 5, 9, 10, 5},
{Lock.REMOVE},
{Lock.LEFT},
{Lock.DOWN},
{Lock.RIGHT},
{9, 4, 5, 9, 7, 5, 9, 1, 0, 9, 10, 0},
{8, 4, 5, 8, 7, 5, 8, 1, 0, 8, 10, 0, 9, 5, 5, 9, 6, 5, 9, 2, 0, 9, 9, 0},
{7, 4, 5, 7, 7, 5, 7, 1, 0, 7, 10, 0, 8, 5, 5, 8, 6, 5, 8, 2, 0, 8, 9, 0},
{7, 5, 5, 7, 6, 5, 7, 2, 0, 7, 9, 0}
};
materials.addElement(new Lock(Color.yellow,
Color.yellow, yellowlock)); // 21=YellowLock
int[][] greenlock = {
{Lock.WIDE},
{Lock.RIGHT},
{Lock.UP},
{Lock.RIGHT},
{10, 5, 0, 10, 6, 0, 10, 2, 6, 10, 9, 6},
{10, 4, 0, 10, 7, 0, 10, 1, 6, 10, 10, 6, 11, 5, 0, 11, 6, 0, 11, 2, 6, 11, 9, 6},
{11, 4, 0, 11, 7, 0, 11, 1, 6, 11, 10, 6, 12, 5, 0, 12, 6, 0, 12, 2, 6, 12, 9, 6},
{12, 4, 0, 12, 7, 0, 12, 1, 6, 12, 10, 6},
{Lock.REMOVE},
{Lock.RIGHT},
{Lock.UP},
{Lock.RIGHT},
{12, 4, 6, 12, 7, 6, 12, 1, 0, 12, 10, 0},
{11, 4, 6, 11, 7, 6, 11, 1, 0, 11, 10, 0, 12, 5, 6, 12, 6, 6, 12, 2, 0, 12, 9, 0},
{10, 4, 6, 10, 7, 6, 10, 1, 0, 10, 10, 0, 11, 5, 6, 11, 6, 6, 11, 2, 0, 11, 9, 0},
{10, 5, 6, 10, 6, 6, 10, 2, 0, 10, 9, 0}
};
materials.addElement(new Lock(Color.green,
Color.green, greenlock)); // 22=GreenLock
int[][] bluelock = {
{Lock.WIDE},
{Lock.LEFT},
{Lock.UP},
{Lock.RIGHT},
{13, 5, 0, 13, 6, 0, 13, 2, 1, 13, 9, 1},
{13, 4, 0, 13, 7, 0, 13, 1, 1, 13, 10, 1, 14, 5, 0, 14, 6, 0, 14, 2, 1, 14, 9, 1},
{14, 4, 0, 14, 7, 0, 14, 1, 1, 14, 10, 1, 15, 5, 0, 15, 6, 0, 15, 2, 1, 15, 9, 1},
{15, 4, 0, 15, 7, 0, 15, 1, 1, 15, 10, 1},
{Lock.REMOVE},
{Lock.LEFT},
{Lock.UP},
{Lock.RIGHT},
{15, 4, 1, 15, 7, 1, 15, 1, 0, 15, 10, 0},
{14, 4, 1, 14, 7, 1, 14, 1, 0, 14, 10, 0, 15, 5, 1, 15, 6, 1, 15, 2, 0, 15, 9, 0},
{13, 4, 1, 13, 7, 1, 13, 1, 0, 13, 10, 0, 14, 5, 1, 14, 6, 1, 14, 2, 0, 14, 9, 0},
{13, 5, 1, 13, 6, 1, 13, 2, 0, 13, 9, 0}
};
materials.addElement(new Lock(Color.blue,
Color.blue, bluelock)); // 23=BlueLock
int[][] purplelock = {
{Lock.WIDE},
{Lock.LEFT}, // Positioning is not set right yet.
{Lock.UP},
{Lock.UP},
{Lock.RIGHT},
{16, 5, 0, 16, 6, 0, 16, 2, 7, 16, 9, 7},
{16, 4, 0, 16, 7, 0, 16, 1, 7, 16, 10, 7, 17, 5, 0, 17, 6, 0, 17, 2, 7, 17, 9, 7},
{17, 4, 0, 17, 7, 0, 17, 1, 7, 17, 10, 7, 18, 5, 0, 18, 6, 0, 18, 2, 7, 18, 9, 7},
{18, 4, 0, 18, 7, 0, 18, 1, 7, 18, 10, 7},
{Lock.REMOVE},
{Lock.LEFT},
{Lock.UP},
{Lock.UP},
{Lock.RIGHT},
{18, 4, 7, 18, 7, 7, 18, 1, 0, 18, 10, 0},
{17, 4, 7, 17, 7, 7, 17, 1, 0, 17, 10, 0, 18, 5, 7, 18, 6, 7, 18, 2, 0, 18, 9, 0},
{16, 4, 7, 16, 7, 7, 16, 1, 0, 16, 10, 0, 17, 5, 7, 17, 6, 7, 17, 2, 0, 17, 9, 0},
{16, 5, 7, 16, 6, 7, 16, 2, 0, 16, 9, 0}
};
materials.addElement(new Lock(new Color(255, 0, 255),
new Color(255, 0, 255), purplelock)); // 24=PurpleLock
String[] files = {"field0.jpg", "field1.jpg"};
materials.addElement(new PlayerBlocker(files)); // 25= Blue FF
int flipswitch[][] = {
{Switch.WAIT4CONTACT},
{Switch.SETVALUEHIGH},
{Switch.REPLACE, 7, 1, 0, 8, 1, 0, 7, 2, 0, 8, 2, 0, 5, 3, 1, 6, 3, 1, 5, 4, 1, 6, 4, 1},
{Switch.REPLACE, 11, 1, 0, 12, 1, 0, 11, 2, 0, 12, 2, 0, 9, 3, 1, 10, 3, 1, 9, 4, 1, 10, 4, 1},
{Switch.REPLACE, 15, 5, 0, 16, 5, 0, 15, 6, 0, 16, 6, 0, 13, 3, 1, 14, 3, 1, 13, 4, 1, 14, 4, 1},
{Switch.REPLACE, 3, 9, 0, 4, 9, 0, 3, 10, 0, 4, 10, 0, 1, 7, 1, 2, 7, 1, 1, 8, 1, 2, 8, 1},
{Switch.REPLACE, 7, 9, 0, 8, 9, 0, 7, 10, 0, 8, 10, 0, 9, 7, 1, 10, 7, 1, 9, 8, 1, 10, 8, 1},
{Switch.REPLACE, 11, 5, 0, 12, 5, 0, 11, 6, 0, 12, 6, 0, 13, 7, 1, 14, 7, 1, 13, 8, 1, 14, 8, 1},
{Switch.REPLACE, 15, 9, 0, 16, 9, 0, 15, 10, 0, 16, 10, 0, 17, 7, 1, 18, 7, 1, 17, 8, 1, 18, 8, 1},
{Switch.REPLACE, 18, 10, 0}
};
materials.addElement(new Switch(Switch.ROT_DOWN, flipswitch)); // 26= FlipSwitch
materials.addElement(new CrystalRecharger()); // 27 = Recharger
materials.addElement(new Portal("ROEndGame2.lvl", true, true)); // 28= Portal
for (int a = 0; a <= 22; a++) {
rooms.addElement(new Room());
}
{// Room 0 Help
Room room = rooms.elementAt(0);
room.AddTextBox("You're on your own here!",
136, 6 * 32, 560);
room.AddTextBox("(To continue, press RETURN.)",
96, 346, 500);
}
{// Room 1 Maze
Room room = rooms.elementAt(1);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1},
{0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1}
};
}
{// Room 1 Maze
Room room = rooms.elementAt(1);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1},
{0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1}
};
}
{// Room 2 Maze
Room room = rooms.elementAt(2);
room.SetMaterialFromRoom(1);
}
{// Room 3 Maze
Room room = rooms.elementAt(3);
room.SetMaterialFromRoom(1);
}
{// Room 4 Maze
Room room = rooms.elementAt(4);
room.SetMaterialFromRoom(1);
}
{// Room 5 Maze
Room room = rooms.elementAt(5);
room.SetMaterialFromRoom(1);
}
{// Room 6 Maze exit
Room room = rooms.elementAt(6);
room.RoomArray = new int[][]{
{2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}
};
room.AddTextBox("Welcome to the Super Secret 6th level!", 52, 64, 560);
room.AddTextBox("{255,000,000} Cross {255,128,000} the {255,255,000} rainbow {000,255,000} bridge {000,000,255} to {255,000,255} freedom!",
64, 9 * 32, 560);
// items.addElement(new Key(2*28,3*32,room,Color.red));
// items.addElement(new Key(2*28,4*32,room,new Color(255,128,0)));
// items.addElement(new Key(2*28,5*32,room,Color.yellow));
// items.addElement(new Key(2*28,6*32,room,Color.green));
// items.addElement(new Key(2*28,7*32,room,Color.blue));
// items.addElement(new Key(2*28,8*32,room,new Color(255,0,255)));
}
{// Room 7 Hallway
Room room = rooms.elementAt(7);
room.RoomArray = new int[][]{
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2}
};
room.AddTextBox("Rainbow bridge", 364, 6 * 32, 560);
room.AddArrow(559, 6 * 32, Arrow.DIR_RIGHT, 28, Color.white);
}
{// Room 8 Rainbow Bridge
Room room = rooms.elementAt(8);
room.RoomArray = new int[][]{
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 1, 1, 1, 7, 7, 7, 2},
{0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 1, 1, 1, 7, 7, 7, 0},
{0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 1, 1, 1, 7, 7, 7, 0},
{0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 1, 1, 1, 7, 7, 7, 0},
{0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 1, 1, 1, 7, 7, 7, 0},
{2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 1, 1, 1, 7, 7, 7, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2},
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}
};
}
{// Room 9 Hallway
Room room = rooms.elementAt(9);
room.RoomArray = new int[][]{
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2}
};
room.AddTextBox("Orange Lock", 28, 6 * 32, 560);
room.AddArrow(0, 6 * 32, Arrow.DIR_LEFT, 28, Color.white);
room.AddTextBox("Yellow Lock", 400, 6 * 32, 560);
room.AddArrow(559, 6 * 32, Arrow.DIR_RIGHT, 28, Color.white);
}
{// Room 10 Hallway
Room room = rooms.elementAt(10);
room.RoomArray = new int[][]{
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2}
};
room.AddTextBox("Red Lock Map", 28, 9 * 32, 560);
room.AddArrow(0, 9 * 32 + 16, Arrow.DIR_LEFT, 28, Color.white);
room.AddTextBox("Red Lock", 436, 2 * 32, 560);
room.AddArrow(559, 2 * 32 + 16, Arrow.DIR_RIGHT, 28, Color.white);
}
{// Room 11 Hallway
Room room = rooms.elementAt(11);
room.RoomArray = new int[][]{
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2}
};
room.AddTextBox("Green Lock", 28, 6 * 32, 560);
room.AddArrow(0, 6 * 32, Arrow.DIR_LEFT, 28, Color.white);
room.AddTextBox("Blue Lock", 424, 6 * 32, 560);
room.AddArrow(559, 6 * 32, Arrow.DIR_RIGHT, 28, Color.white);
}
{// Room 12 Hallway
Room room = rooms.elementAt(12);
room.RoomArray = new int[][]{
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}
};
room.AddTextBox("Purple Lock", 400, 6 * 32, 560);
room.AddArrow(559, 6 * 32, Arrow.DIR_RIGHT, 28, Color.white);
}
{// Room 13 Red Lock upper
Room room = rooms.elementAt(13);
room.RoomArray = new int[][]{
{10, 10, 10, 10, 10, 10, 10, 15, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 13},
{0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 9},
{14, 10, 10, 13, 0, 0, 0, 9, 0, 0, 0, 14, 10, 10, 10, 10, 10, 10, 10, 18},
{9, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 9},
{9, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 9},
{9, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 9},
{9, 0, 0, 0, 14, 10, 10, 16, 10, 10, 10, 10, 10, 10, 10, 18, 0, 0, 0, 9}
};
int[] pace = {2 * 28, 2 * 32, 2 * 28, 9 * 32};
int[] program = {4 * 28, 0, 18 * 28, 11 * 32, 0, 2 * 32};
items.addElement(new Sentry(5 * 28, 2 * 32, room, pace, program, true));
}
{// Room 14 Red Lock lower
Room room = rooms.elementAt(14);
room.RoomArray = new int[][]{
{9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 9, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 18},
{9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 12, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 9},
{9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9},
{12, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11}
};
}
{// Room 15 Red Lock map upper (lower)
Room room = rooms.elementAt(15);
room.RoomArray = new int[][]{
{1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
}
{// Room 16 Red Lock map lower (upper)
Room room = rooms.elementAt(16);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1}
};
}
{// Room 17 Orange Lock (pac-man)
Room room = rooms.elementAt(17);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1},
{1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0},
{1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0},
{1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 20, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
items.addElement(new Pellet(2 * 28 - 14, 2 * 32 - 14, room));
items.addElement(new Pellet(4 * 28 - 14, 2 * 32 - 14, room));
items.addElement(new Pellet(6 * 28 - 14, 2 * 32 - 14, room));
items.addElement(new Pellet(8 * 28 - 14, 2 * 32 - 14, room));
items.addElement(new Pellet(10 * 28 - 14, 2 * 32 - 14, room));
items.addElement(new Pellet(12 * 28 - 14, 2 * 32 - 14, room));
items.addElement(new Pellet(14 * 28 - 14, 2 * 32 - 14, room));
items.addElement(new Pellet(2 * 28 - 14, 4 * 32 - 14, room));
items.addElement(new Pellet(6 * 28 - 14, 4 * 32 - 14, room));
items.addElement(new Pellet(10 * 28 - 14, 4 * 32 - 14, room));
items.addElement(new Pellet(14 * 28 - 14, 4 * 32 - 14, room));
items.addElement(new Pellet(2 * 28 - 14, 6 * 32 - 14, room));
items.addElement(new Pellet(4 * 28 - 14, 6 * 32 - 14, room));
items.addElement(new Pellet(6 * 28 - 14, 6 * 32 - 14, room));
items.addElement(new Pellet(8 * 28 - 14, 6 * 32 - 14, room));
items.addElement(new Pellet(10 * 28 - 14, 6 * 32 - 14, room));
items.addElement(new Pellet(12 * 28 - 14, 6 * 32 - 14, room));
items.addElement(new Pellet(14 * 28 - 14, 6 * 32 - 14, room));
items.addElement(new Pellet(2 * 28 - 14, 8 * 32 - 14, room));
items.addElement(new Pellet(6 * 28 - 14, 8 * 32 - 14, room));
items.addElement(new Pellet(10 * 28 - 14, 8 * 32 - 14, room));
items.addElement(new Pellet(14 * 28 - 14, 8 * 32 - 14, room));
items.addElement(new Pellet(2 * 28 - 14, 10 * 32 - 14, room));
items.addElement(new Pellet(4 * 28 - 14, 10 * 32 - 14, room));
items.addElement(new Pellet(6 * 28 - 14, 10 * 32 - 14, room));
items.addElement(new Pellet(8 * 28 - 14, 10 * 32 - 14, room));
items.addElement(new Pellet(10 * 28 - 14, 10 * 32 - 14, room));
items.addElement(new Pellet(12 * 28 - 14, 10 * 32 - 14, room));
items.addElement(new Pellet(14 * 28 - 14, 10 * 32 - 14, room));
items.addElement(new Ghost(42, 48, room));
items.addElement(new DirectionalSensor(16 * 28 + 8, 4 * 32 + 16, room,
new Ghost(0, 0, null)));
}
{// Room 18 Yellow Lock (Hot tunnel)
Room room = rooms.elementAt(18);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
items.addElement(new Wave(room));
int[] pace = {2 * 28, 2 * 32, 2 * 28, 9 * 32};
int[] program = {4 * 28, 0, 18 * 28, 11 * 32, 0, 5 * 32};
items.addElement(new Sentry(5 * 28, 2 * 32, room, pace, program, true));
}
{// Room 19 Green Lock (Turbines)
Room room = rooms.elementAt(19);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
int[] cells1 = {12, 3, 0, 1, 11, 3, 0, 1, 10, 3, 0, 1, 9, 3, 0, 1, 8, 3, 0, 1, 7, 3, 0, 1};
items.addElement(new Turbine(28, 9 * 32, room, cells1));
int[] cells2 = {12, 5, 0, 1, 11, 5, 0, 1, 10, 5, 0, 1, 9, 5, 0, 1, 8, 5, 0, 1, 7, 5, 0, 1};
items.addElement(new Turbine(5 * 28, 9 * 32, room, cells2));
int[] pace = {6 * 28, 2 * 32, 13 * 28, 2 * 32};
int[] program = {28, 32, 15 * 28, 10 * 32, 19 * 28, 5 * 32};
items.addElement(new Sentry(6 * 28, 2 * 32, room, pace, program, true));
}
{// Room 20 Blue Lock (Flip Maze)
Room room = rooms.elementAt(20);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 1},
{0, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 1},
{0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1},
{0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1},
{0, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 1},
{1, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 1},
{1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1},
{1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 26, 23},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
int[] pace = {2 * 28, 2 * 32, 2 * 28, 9 * 32};
int[] program = {4 * 28, 0, 18 * 28, 11 * 32, 0, 5 * 32};
items.addElement(new Sentry(5 * 28, 2 * 32, room, pace, program, true));
}
{// Room 21 Purple Lock (4 Pull Locks)
Room room = rooms.elementAt(21);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 1, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
items.addElement(new WallHandle(11 * 28, 3 * 32 + 8, room));
items.addElement(new WallHandle(11 * 28, 5 * 32 + 8, room));
items.addElement(new WallHandle(11 * 28, 7 * 32 + 8, room));
items.addElement(new WallHandle(11 * 28, 9 * 32 + 8, room));
int[] pace = {2 * 28, 2 * 32, 2 * 28, 9 * 32};
int[] program = {4 * 28, 0, 18 * 28, 11 * 32, 0, 5 * 32};
items.addElement(new Sentry(5 * 28, 2 * 32, room, pace, program, true));
}
{// Room 22 Final Portal!
Room room = rooms.elementAt(22);
room.RoomArray = new int[][]{
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
room.AddTextBox("You did it! You beat the Secret 6th level!", 2 * 28, 2 * 32, 500);
room.AddTextBox("Believe it or not, you have now accomplished something that Tom hasn't even done yet.!",
2 * 28, 5 * 32, 500);
String[] helperlist = {
"helper0.gif", "helper0.gif", "helper0.gif", "helper0.gif",
"helper0.gif", "helper0.gif", "helper0.gif", "helper0.gif",
"helper7.gif", "helper6.gif", "helper7.gif", "helper6.gif",
"helper7.gif", "helper6.gif", "helper7.gif", "helper6.gif",
"helper7.gif", "helper6.gif", "helper7.gif", "helper6.gif",
"helper7.gif", "helper6.gif", "helper7.gif", "helper6.gif",
"helper0.gif", "helper0.gif", "helper0.gif", "helper0.gif",
"helper1.gif", "helper4.gif", "helper2.gif", "helper3.gif",
"helper0.gif", "helper0.gif", "helper0.gif", "helper0.gif",
"helper5.gif", "helper5.gif", "helper5.gif", "helper5.gif",
};
Graphix helper = new Graphix(helperlist, 15 * 28, 8 * 32);
room.graphix.addElement(helper);
}
for (int a = 1; a <= 5; a++) {
Room roomA = rooms.elementAt(a);
Room room1 = rooms.elementAt(1);
roomA.upRoom = room1;
roomA.downRoom = room1;
roomA.leftRoom = room1;
roomA.rightRoom = room1;
}
rooms.elementAt(1).leftRoom = rooms.elementAt(2);
rooms.elementAt(2).upRoom = rooms.elementAt(3);
rooms.elementAt(3).rightRoom = rooms.elementAt(4);
rooms.elementAt(4).leftRoom = rooms.elementAt(5);
rooms.elementAt(5).downRoom = rooms.elementAt(6);
rooms.elementAt(6).upRoom = rooms.elementAt(1);
LinkRoomsLeftRight(6, 7);
LinkRoomsLeftRight(7, 8);
LinkRoomsLeftRight(8, 22);
int[] list1 = {10, 9, 7, 11, 12};
LinkRoomsVertically(list1);
LinkRoomsUpDown(16, 15);
LinkRoomsUpDown(13, 14);
LinkRoomsLeftRight(15, 10);
LinkRoomsLeftRight(10, 13);
LinkRoomsLeftRight(17, 9);
LinkRoomsLeftRight(9, 18);
LinkRoomsLeftRight(19, 11);
LinkRoomsLeftRight(11, 20);
LinkRoomsLeftRight(12, 21);
gameCursor = new GameCursor(9 * 28 + 14, 5 * 32 + 16, rooms.elementAt(1));
helpCam = new HelpCam(rooms.elementAt(0));
solderingPen = new SolderingPen();
remote = new Remote();
items.addElement(gameCursor);
items.addElement(helpCam);
items.addElement(solderingPen);
items.addElement(remote);
player = gameCursor;
currentViewer = player;
}
}