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

1026 lines
40 KiB
Java

package com.droidquest.levels;
import java.awt.Color;
import com.droidquest.Room;
import com.droidquest.RoomDisplay;
import com.droidquest.Wire;
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.ANDGate;
import com.droidquest.devices.ContactSensor;
import com.droidquest.devices.DirectionalSensor;
import com.droidquest.devices.FlipFlop;
import com.droidquest.devices.GenericChip;
import com.droidquest.devices.NOTGate;
import com.droidquest.devices.Node;
import com.droidquest.devices.RoomSensor;
import com.droidquest.devices.SmallChip;
import com.droidquest.items.AmpireBot;
import com.droidquest.items.BlackCrystal;
import com.droidquest.items.BlueRobot;
import com.droidquest.items.Crystal;
import com.droidquest.items.Initializer;
import com.droidquest.items.Item;
import com.droidquest.items.Key;
import com.droidquest.items.Magnet;
import com.droidquest.items.OrangeRobot;
import com.droidquest.items.Sentry;
import com.droidquest.items.Sentry3;
import com.droidquest.items.Suitcase;
import com.droidquest.items.Sweeper;
import com.droidquest.items.Token;
import com.droidquest.items.WhiteRobot;
import com.droidquest.materials.BlueWall;
import com.droidquest.materials.Lock;
import com.droidquest.materials.LockS1;
import com.droidquest.materials.Material;
import com.droidquest.materials.Portal;
class RO1 extends Level
{
public RO1(RoomDisplay rd)
{
super(rd);
materials.addElement(new Material(true, false)); // 0= Blank
materials.addElement(new Material(new Color(190,190,255),false, true)); // 1= Light Blue Wall
int[][] lockProgram1 = {
{Lock.NARROW},
{4,9,0, 4,6,1},
{4,8,0, 4,5,1},
{Lock.NARROW},
{4,8,1, 4,5,0},
{4,9,1, 4,6,0},
};
materials.addElement(new Lock(Color.blue, Color.blue, lockProgram1)); // 2= Lock 1
materials.addElement(new Material(new Color(0,0,128),false,true)); // 3= Dark Blue Wall
materials.addElement(new BlueWall()); // 4= Blue Wall
int[][] lockProgram2 = {
{Lock.NARROW},
{ 5,1,0, 5,2,0, 5,3,0, 6,1,4, 6,2,4, 6,3,4},
{ 6,1,0, 6,2,0, 6,3,0, 7,1,4, 7,2,4, 7,3,4},
{ 7,1,0, 7,2,0, 7,3,0, 8,1,4, 8,2,4, 8,3,4},
{ 8,1,0, 8,2,0, 8,3,0, 9,1,4, 9,2,4, 9,3,4},
{ 9,1,0, 9,2,0, 9,3,0, 10,1,4, 10,2,4, 10,3,4},
{10,1,0, 10,2,0, 10,3,0, 11,1,4, 11,2,4, 11,3,4},
{11,1,0, 11,2,0, 11,3,0, 12,1,4, 12,2,4, 12,3,4},
{12,1,0, 12,2,0, 12,3,0, 13,1,4, 13,2,4, 13,3,4},
{13,1,0, 13,2,0, 13,3,0, 14,1,4, 14,2,4, 14,3,4},
{14,1,0, 14,2,0, 14,3,0, 15,1,4, 15,2,4, 15,3,4},
{15,1,0, 15,2,0, 15,3,0, 16,1,4, 16,2,4, 16,3,4},
{16,1,0, 16,2,0, 16,3,0, 17,1,4, 17,2,4, 17,3,4},
{17,1,0, 17,2,0, 17,3,0, 18,1,4, 18,2,4, 18,3,4},
{Lock.NARROW},
{17,1,4, 17,2,4, 17,3,4, 18,1,0, 18,2,0, 18,3,0},
{16,1,4, 16,2,4, 16,3,4, 17,1,0, 17,2,0, 17,3,0},
{15,1,4, 15,2,4, 15,3,4, 16,1,0, 16,2,0, 16,3,0},
{14,1,4, 14,2,4, 14,3,4, 15,1,0, 15,2,0, 15,3,0},
{13,1,4, 13,2,4, 13,3,4, 14,1,0, 14,2,0, 14,3,0},
{12,1,4, 12,2,4, 12,3,4, 13,1,0, 13,2,0, 13,3,0},
{11,1,4, 11,2,4, 11,3,4, 12,1,0, 12,2,0, 12,3,0},
{10,1,4, 10,2,4, 10,3,4, 11,1,0, 11,2,0, 11,3,0},
{ 9,1,4, 9,2,4, 9,3,4, 10,1,0, 10,2,0, 10,3,0},
{ 8,1,4, 8,2,4, 8,3,4, 9,1,0, 9,2,0, 9,3,0},
{ 7,1,4, 7,2,4, 7,3,4, 8,1,0, 8,2,0, 8,3,0},
{ 6,1,4, 6,2,4, 6,3,4, 7,1,0, 7,2,0, 7,3,0},
{ 5,1,4, 5,2,4, 5,3,4, 6,1,0, 6,2,0, 6,3,0}
};
materials.addElement(new Lock(Color.blue, Color.blue, lockProgram2)); // 5= Lock2
materials.addElement(new Material(new Color(0,255,0),false, true)); // 6= Green Wall
materials.addElement(new Portal("RO2.lvl", true, true)); // 7= Portal to Level 2
materials.addElement(new LockS1()); //8=Secret Lock
for (int a=0; a<32; a++)
rooms.addElement(new Room());
{ // Room 0, Entry point
Room room = (Room) rooms.elementAt(0);
room.SetMaterialOutline(0,0,19,11,1);
room.SetMaterialFill(19,8,19,10,0);
room.AddTextBox("Welcome Traveller!",150,64, 400);
room.AddTextBox("You have fallen into the under- ground city of Robotropolis. To escape, travel upward through all five levels of the city."
,60,100,400);
room.AddTextBox("The three robots in the next room will help you on your journey. To learn how they work, choose Robot Anatomy from the menu."
,60,200,400);
room.AddTextBox("This way to Robotropolis",360,290,200);
room.AddArrow(559, 11*28+16, Arrow.DIR_RIGHT, 100, Color.white);
}
{ // Room 1, Robots Here
Room room = (Room) rooms.elementAt(1);
int[][] table1 = {
{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,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,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1},
{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,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}
};
room.RoomArray = table1;
items.addElement(new BlueRobot(6*28, 5*32, room));
{
Item robot = (Item) items.lastElement();
BlueRobot brobot = (BlueRobot) robot;
brobot.thrusterPower=true;
RoomSensor rSensor = new RoomSensor(8*28,4*32+16,brobot.InternalRoom,
new Key(0,0,null,Color.white));
items.addElement(rSensor);
rSensor.rotate(1); rSensor.rotate(1);
NOTGate ng = new NOTGate(5*28,3*32,brobot.InternalRoom);
items.addElement(ng);
FlipFlop ff = new FlipFlop(9*28,6*32,brobot.InternalRoom);
items.addElement(ff);
Wire dummy;
dummy = new Wire(rSensor.ports[0], ng.ports[0]);
dummy = new Wire(ng.ports[1], brobot.devices[9].ports[0]);
dummy = new Wire(ff.ports[0], brobot.devices[5].ports[0]);
dummy = new Wire(ff.ports[1], brobot.devices[7].ports[0]);
dummy = new Wire(ff.ports[2], brobot.devices[1].ports[0]);
dummy = new Wire(ff.ports[3], brobot.devices[3].ports[0]);
}
items.addElement(new WhiteRobot(8*28, 3*32, room));
{
Item robot = (Item) items.lastElement();
WhiteRobot wrobot = (WhiteRobot) robot;
wrobot.thrusterPower=true;
RoomSensor rSensor = new RoomSensor(4*28,4*32, wrobot.InternalRoom,
new Crystal(0,0,null,0));
items.addElement(rSensor);
rSensor.rotate(1); rSensor.rotate(1);
NOTGate ng = new NOTGate(5*28, 7*32, wrobot.InternalRoom);
items.addElement(ng);
ng.rotate(1);ng.rotate(1);ng.rotate(1);
FlipFlop ff = new FlipFlop(8*28,6*32,wrobot.InternalRoom);
items.addElement(ff);
ANDGate ag1 = new ANDGate(9*28,2*32,wrobot.InternalRoom);
items.addElement(ag1);
ANDGate ag2 = new ANDGate(12*28,8*32,wrobot.InternalRoom);
items.addElement(ag2);
ag2.rotate(1);ag2.rotate(1);
Node node = new Node(15*28, 7*32, wrobot.InternalRoom, Node.TYPE_THREE);
items.addElement(node);
node.rotate(1); node.rotate(1);
Wire dummy;
dummy = new Wire(rSensor.ports[0], wrobot.devices[8].ports[0]);
dummy = new Wire(node.ports[0], wrobot.devices[5].ports[0]);
dummy = new Wire(node.ports[1], ag2.ports[0]);
dummy = new Wire(node.ports[2], ng.ports[0]);
dummy = new Wire(node.ports[3], ag1.ports[1]);
dummy = new Wire(ag1.ports[2], wrobot.devices[0].ports[0]);
dummy = new Wire(ag2.ports[2], wrobot.devices[2].ports[0]);
dummy = new Wire(ng.ports[1], wrobot.devices[3].ports[0]);
dummy = new Wire(ff.ports[0], wrobot.devices[4].ports[0]);
dummy = new Wire(ff.ports[1], wrobot.devices[6].ports[0]);
dummy = new Wire(ff.ports[2], ag1.ports[0]);
dummy = new Wire(ff.ports[3], ag2.ports[1]);
}
items.addElement(new OrangeRobot(14*28, 9*32, room));
{
Item robot = (Item) items.lastElement();
OrangeRobot orobot = (OrangeRobot) robot;
orobot.thrusterPower=true;
RoomSensor rSensor = new RoomSensor(8*28,4*32+16,orobot.InternalRoom,
new Key(0,0,null, Color.white));
items.addElement(rSensor);
rSensor.rotate(1); rSensor.rotate(1);
NOTGate ng = new NOTGate(5*28,3*32,orobot.InternalRoom);
items.addElement(ng);
SmallChip sc = new SmallChip(10*28,6*32,orobot.InternalRoom,"2");
items.addElement(sc);
sc.LoadChip("chips/WallHugger.chip");
Wire dummy;
dummy = new Wire(rSensor.ports[0], ng.ports[0]);
dummy = new Wire(ng.ports[1], orobot.devices[9].ports[0]); // Antenna
dummy = new Wire(sc.ports[0], orobot.devices[0].ports[0]); // Top Thruster
dummy = new Wire(sc.ports[1], orobot.devices[7].ports[0]); // Left Bumper
dummy = new Wire(sc.ports[2], orobot.devices[3].ports[0]); // Left Thruster
dummy = new Wire(sc.ports[3], orobot.devices[6].ports[0]); // Bottom Bumper
dummy = new Wire(sc.ports[4], orobot.devices[2].ports[0]); // Bottom Thruster
dummy = new Wire(sc.ports[5], orobot.devices[5].ports[0]); // Right Bumper
dummy = new Wire(sc.ports[6], orobot.devices[1].ports[0]); // Right Thruster
dummy = new Wire(sc.ports[7], orobot.devices[4].ports[0]); // Top Bumper
}
items.addElement(new Key(8*28, 8*32, room, Color.blue));
}
{ // Room 2, Sewer Door
Room room = (Room) rooms.elementAt(2);
int[][] table2 = {
{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,1,1,1,1},
{1,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,1,1,1},
{1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0},
{1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0},
{0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1},
{0,0,0,2,1,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,0,0,0,1,1,1,1}
};
room.RoomArray = table2;
room.AddTextBox("{BIG} The City Sewer",40,80,500);
items.addElement(new Sweeper(476, 224, room));
}
{ // Room 3, Maze 1 "PR"
Room room = (Room) rooms.elementAt(3);
int[][] table3= {
{1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1},
{1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1},
{1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1},
{1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0},
{1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0},
{1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0},
{1,0,0,1,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1},
{1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1},
{1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1},
{1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1},
{1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1}
};
room.RoomArray = table3;
String[] i1 = {"0073.jpg","0074.jpg"};
room.graphix.addElement(new Graphix(i1, 4*28+14,5*32));
}
{ // Room 4, Maze 2 "CG"
Room room = (Room) rooms.elementAt(4);
int[][] table4= {
{1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1},
{1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1},
{1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1},
{1,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1},
{1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,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}
};
room.RoomArray = table4;
String[] i6 = {"0075.jpg","0076.jpg","0077.jpg", "0076.jpg"};
room.graphix.addElement(new Graphix(i6, 13*28, 4*32,
Graphix.BOUNCE, 0,2, 3*16));
}
{ // Room 5, Maze 3 "PC"
Room room = (Room) rooms.elementAt(5);
int[][] table5= {
{1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,1,1,1,1,0,0,1,0,0,1,1,1,0,0,0,0},
{0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0},
{0,0,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1},
{0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,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,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,0,0,1}
};
room.RoomArray = table5;
}
{ // Room 6, Maze 4 "RC"
Room room = (Room) rooms.elementAt(6);
int[][] table6= {
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1},
{1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0},
{1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0},
{1,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1},
{1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1},
{0,0,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,1},
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{0,0,0,1,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,0,0,0,1}
};
room.RoomArray = table6;
String[] i7 = {"0082.jpg","0083.jpg","0084.jpg", "0085.jpg", "0084.jpg", "0083.jpg", "0082.jpg"};
room.graphix.addElement(new Graphix(i7, 12*28, 4*32,
Graphix.BOUNCE, 0,2, 3*16));
}
{ // Room 7, Maze 5 "MW"
Room room = (Room) rooms.elementAt(7);
int[][] table7= {
{1,1,1,1,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,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,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,1},
{0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1},
{1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1},
{1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1},
{1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1},
{1,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1},
{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,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1}
};
room.RoomArray = table7;
String[] i2 = {"0086.jpg","0087.jpg"};
room.graphix.addElement(new Graphix(i2, 5*28,2*32));
}
{ // Room 8, Maze 6 "CIG"
Room room = (Room) rooms.elementAt(8);
int[][] table8= {
{1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1},
{1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1},
{0,0,0,1,0,0,1,1,1,0,0,0,1,0,0,1,0,0,0,0},
{0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,1,0,0},
{1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0},
{1,0,0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1},
{1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1},
{1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1}
};
room.RoomArray = table8;
}
{ // Room 9, Maze 7 "NH"
Room room = (Room) rooms.elementAt(9);
int[][] table9= {
{1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1},
{1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1},
{1,0,0,1,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1},
{1,0,0,1,0,1,0,0,1,0,0,1,1,1,1,1,0,0,0,1},
{1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,1},
{1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,1,0,0,0,1},
{1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1},
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1}
};
room.RoomArray = table9;
}
{ // Room 10, Maze 8 "SG"
Room room = (Room) rooms.elementAt(10);
int[][] table10= {
{1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1},
{0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
{0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
{0,0,0,1,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0},
{0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,0,0,0},
{0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1}
};
room.RoomArray = table10;
String[] i8 = {"0078.jpg","0079.jpg","0080.jpg", "0081.jpg"};
room.graphix.addElement(new Graphix(i8, 13*28, 10*32,
Graphix.BOUNCE, 2,0, 5*14));
}
{ // Room 11, Maze Bottom
Room room = (Room) rooms.elementAt(11);
int[][] table11= {
{3,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3},
{3,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3},
{3,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3},
{3,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table11;
items.addElement(new ContactSensor(9*28,2*32,room, new Token(0,0,null)));
}
{ // Room 12, Top Corridor 1
Room room = (Room) rooms.elementAt(12);
int[][] table12 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table12;
}
{ // Room 13, Top Corridor 2
Room room = (Room) rooms.elementAt(13);
int[][] table13 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table13;
}
{ // Room 14, Top Corridor Branch
Room room = (Room) rooms.elementAt(14);
int[][] table14 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3}
};
room.RoomArray = table14;
}
{ // Room 15, Hallway Top Right
Room room = (Room) rooms.elementAt(15);
int[][] table15 = {
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3}
};
room.RoomArray = table15;
}
{ // Room 16, Hallway Bottom Right
Room room = (Room) rooms.elementAt(16);
int[][] table16 = {
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table16;
}
{ // Room 17, Hallway Bottom
Room room = (Room) rooms.elementAt(17);
int[][] table17 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,0,0,0,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,0,0,0,0,0,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,0,0,0,0,0,0,0,3,3,3,3,3,3}
};
room.RoomArray = table17;
items.addElement(new AmpireBot(10*28,3*32, room));
}
{ // Room 18, Hallway Bottom Left
Room room = (Room) rooms.elementAt(18);
int[][] table18 = {
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table18;
}
{ // Room 19, Hallway Top Left
Room room = (Room) rooms.elementAt(19);
int[][] table19 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3}
};
room.RoomArray = table19;
}
{ // Room 20, Hallway Top
Room room = (Room) rooms.elementAt(20);
int[][] table20 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table20;
}
{ // Room 21, WallHugger Puzzle
Room room = (Room) rooms.elementAt(21);
int[][] table21 = {
{3,3,3,3,3,3,3,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,3,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,3,3,3,3,0,0,0,0,0,0,0,3,3,3,3,3,3},
{3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table21;
items.addElement(new Magnet(10*28,9*32, room));
int[] pace = {3*28, 120, 16*28, 120};
int[] protect = {0,3*32,19*28,11*32, 10*28,0};
items.addElement(new Sentry(3*28,120, room, pace, protect, false));
}
{ // Room 22, Bouncer Puzzle
Room room = (Room) rooms.elementAt(22);
int[][] table22 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table22;
items.addElement(new Crystal(16*28,5*32, room,100000));
int[] pace = {3*28,94, 3*28,302};
int[] protect = {4*28,0,19*28,11*32, 0,5*32};
items.addElement(new Sentry(3*28,94, room, pace, protect, false));
}
{ // Room 23, AnteChamber
Room room = (Room) rooms.elementAt(23);
int[][] table23 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,3,3,3,3,3,0,0,0,0,3,3,3},
{0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,3,3},
{0,0,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0},
{3,3,0,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0},
{3,3,3,0,0,0,0,0,0,3,3,3,0,0,0,0,0,0,3,3},
{3,3,3,3,3,0,0,0,3,3,3,3,3,0,0,0,0,0,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,3,3}
};
room.RoomArray = table23;
room.AddTextBox("Do you have EVERYTHING?",
98,278,168);
}
{ // Room 24, Directional Token Sensor here
Room room = (Room) rooms.elementAt(24);
int[][] table24 = {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,3,3},
{3,3,3,0,0,0,0,3,3,3,3,3,3,3,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,3,3,3,3,3,3,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3},
{3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table24;
room.AddTextBox("Time to board a 'Bot!",
170,320,500);
items.addElement(new DirectionalSensor(3*28+14,4*32,room,new Token(0,0,null)));
}
{ // Room 25, Sewer Grate Top
Room room = (Room) rooms.elementAt(25);
int[][] table25 = {
{4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
{4,0,0,0,4,0,0,0,0,0,4,0,0,4,0,0,4,0,0,4},
{4,0,0,0,4,0,0,0,0,0,4,0,0,4,0,0,4,0,0,4},
{4,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,0,0},
{4,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,0,0},
{0,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,0,0},
{0,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4},
{0,0,0,0,4,0,0,4,0,0,0,0,0,4,0,0,4,0,0,4},
{0,0,0,0,4,0,0,4,0,0,0,0,0,4,0,0,4,0,0,4},
{4,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,0,0,0,4},
{4,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,0,0,0,4},
{4,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4}
};
room.RoomArray = table25;
room.AddTextBox("SEWER GRATE",
182,48,90);
items.addElement(new Sentry3(2*28,64, room));
}
{ // Room 26, Sewer Grate Bottom
Room room = (Room) rooms.elementAt(26);
int[][] table26 = {
{4,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4},
{4,0,0,0,0,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4},
{4,0,0,0,0,0,0,4,4,4,4,0,0,0,0,0,4,4,4,4},
{4,4,4,4,4,0,0,4,0,0,4,0,0,0,0,0,4,0,0,4},
{4,0,0,0,4,0,0,4,0,0,4,4,4,4,4,4,4,0,0,4},
{4,0,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,4,4,0,0,4},
{4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4}
};
room.RoomArray = table26;
String[] i3 = {"0064.jpg","0065.jpg"};
room.graphix.addElement(new Graphix(i3, 5*28,10*32));
String[] i4 = {"0066.jpg","0067.jpg"};
room.graphix.addElement(new Graphix(i4, 11*28,8*32));
String[] i5 = {"0068.jpg","0069.jpg"};
room.graphix.addElement(new Graphix(i5, 16*28,9*32));
room.AddTextBox("These poor creatures never made it out...Will you???",
84,224,500);
}
{ // Room 27, 2nd Lock
Room room = (Room) rooms.elementAt(27);
int[][] table27 = {
{4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
{4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0},
{4,4,4,4,4,4,0,0,0,0,0,0,0,5,4,0,0,0,0,0},
{4,0,0,0,0,4,4,4,4,4,4,0,0,4,4,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4}
};
room.RoomArray = table27;
room.AddTextBox("Congratulations!",
2*28,304,500);
room.AddTextBox("That was a great job!",
2*28,320,500);
}
{ // Room 28, Portal Chamber
Room room = (Room) rooms.elementAt(28);
int[][] table28 = {
{4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
{4,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4},
{4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4}
};
room.RoomArray = table28;
room.AddTextBox("Prepare for an experience that will transport you to another dimension",
336,48,224);
room.AddTextBox("You CAN take it with you (If you hold on tight)....",
336,256,224);
}
{ // Room 29, Help Screen
Room room = (Room) rooms.elementAt(29);
int[][] table29 = {
{6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6},
{6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6}
};
room.RoomArray = table29;
room.AddTextBox("Escape from the City Sewer!",
3*28,2*32,500);
room.AddTextBox("HINTS:",
2*28,3*32,500);
room.AddTextBox("Observe how the robots move. Each is pre-wired to help you.",
2*28,4*32,500);
room.AddTextBox("Robots go where humans dare not tread.",
2*28,6*32,500);
room.AddTextBox("The key to success lies within.",
2*28,7*32,500);
room.AddTextBox("Black crystals foil Ampire Bots.",
2*28,8*32,500);
room.AddTextBox("Chip 1 is \"COUNT-TO-N\" Chip 2 is \"WALLHUGGER\"",
2*28,9*32,400);
room.AddTextBox("(To continue, press RETURN.)",
3*28,11*32,500);
}
{ // Room 30, Secret Trash-flow
Room room = (Room) rooms.elementAt(30);
int[][] table= {
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{3,3,3,3,3,3,3,3,0,0,0,0,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,0,0,0,0,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,0,0,0,0,3,3,3,3,3,3,3,3},
{3,3,3,3,3,3,3,3,0,0,0,0,3,3,3,3,3,3,3,3}
};
room.RoomArray = table;
}
{ // Room 31, Secret room
Room room = (Room) rooms.elementAt(31);
int[][] table= {
{3,3,3,3,3,3,3,3,0,0,0,0,3,3,3,3,3,3,3,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3},
{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3}
};
room.RoomArray = table;
room.AddTextBox("Hi! I'm the Secret Helper. Congratulations on finding Secret #1 (and #2... wink wink!)",
3*28,2*32,450);
room.AddTextBox("Look at this... Somebody threw out a perfectly good suitcase. I wonder what's inside it?",
3*28,9*32,450);
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, 4*28, 5*32);
room.graphix.addElement(helper);
Item sc = new Suitcase(14*28,5*32,room);
items.addElement(sc);
items.addElement(new Key(2*28,5*32,sc.InternalRoom,Color.green));
}
int[] roomlist1 = {0,1,2,12,13,14,23,25,27,28};
LinkRoomsHorizontally(roomlist1);
int[] roomlist2 = {2,3,4,5,6,7,8,9,10,11};
LinkRoomsVertically(roomlist2);
int[] roomlist3 = {3,5,7,9};
LinkRoomsHorizontally(roomlist3);
int[] roomlist4 = {4,6,8,10,18,17,16,22};
LinkRoomsHorizontally(roomlist4);
LinkRoomsUpDown(14,15);
LinkRoomsUpDown(15,16);
LinkRoomsUpDown(19,18);
LinkRoomsLeftRight(19,20);
LinkRoomsLeftRight(20,15);
LinkRoomsUpDown(17,21);
LinkRoomsUpDown(23,24);
LinkRoomsUpDown(25,26);
LinkRoomsUpDown(30,31);
for (int a=0; a<14; a++)
{
int speed = (random.nextInt(5)+1)*2;
Graphix grx = new Graphix("junk"+a+".jpg",
19*28,
random.nextInt(3*32)+4*32,
Graphix.CYCLE,
-speed, 0, 20*32/speed
);
int t = random.nextInt(20*32/speed);
grx.x-=speed*t;
grx.count=t;
((Room) rooms.elementAt(11)).graphix.addElement(grx);
}
gameCursor = new GameCursor(252,288,(Room) rooms.elementAt(0));
solderingPen = new SolderingPen();
remote = new Remote();
helpCam = new HelpCam( (Room) rooms.elementAt(29));
items.addElement(gameCursor);
SmallChip sc = new SmallChip(0,0,null,"1");
sc.LoadChip("chips/CountToN.chip");
items.addElement(sc);
items.addElement(new RO1Init());
items.addElement(solderingPen);
items.addElement(remote);
items.addElement(helpCam);
player = gameCursor;
currentViewer = player;
items.addElement(new BlackCrystal(2*28,7*32, (Room) rooms.elementAt(3)));
}
}
class RO1Init extends Initializer
{
public void Init()
{
// The Magnet and the Energy Crystal go into (one or the other)
// X=10*28, Y=9*32, Room=21
// X=16*28, Y=5*32, Room-22
Item magnet = level.FindItem("Magnet");
Item crystal = level.FindItem(".Crystal");
if (level.random.nextInt(2)==1)
{
magnet.x=10*28;
magnet.y=9*32;
magnet.room=(Room) level.rooms.elementAt(21);
crystal.x=16*28;
crystal.y=5*32;
crystal.room=(Room) level.rooms.elementAt(22);
}
else
{
crystal.x=10*28;
crystal.y=9*32;
crystal.room=(Room) level.rooms.elementAt(21);
magnet.x=16*28;
magnet.y=5*32;
magnet.room=(Room) level.rooms.elementAt(22);
}
// The Blue Key goes inside one of the Robots.
Item robot1 = level.FindItem("BlueRobot");
Item robot2 = level.FindItem("WhiteRobot");
Item robot3 = level.FindItem("OrangeRobot");
Item key = level.FindItem("Key");
switch (level.random.nextInt(3))
{
case 0: key.room = robot1.InternalRoom; break;
case 1: key.room = robot2.InternalRoom; break;
case 2: key.room = robot3.InternalRoom; break;
}
// The Black Crystal and Chip 1 go somewhere in the Maze
// Room=3, 2,7
// Room=4 4,1
// Room=5 1,18
// Room=6 6,6
// Room=7 4,4
// Room=8 16,5
// Room=9 4,3
// Room=10 6,8
Item bcrystal = level.FindItem("BlackCrystal");
switch (level.random.nextInt(8))
{
case 0: bcrystal.x = 2*28; bcrystal.y = 7*32;
bcrystal.room = (Room) level.rooms.elementAt(3); break;
case 1: bcrystal.x = 4*28; bcrystal.y = 1*32;
bcrystal.room = (Room) level.rooms.elementAt(4); break;
case 2: bcrystal.x = 14*28; bcrystal.y = 4*32;
bcrystal.room = (Room) level.rooms.elementAt(5); break;
case 3: bcrystal.x = 6*28; bcrystal.y = 6*32;
bcrystal.room = (Room) level.rooms.elementAt(6); break;
case 4: bcrystal.x = 4*28; bcrystal.y = 4*32;
bcrystal.room = (Room) level.rooms.elementAt(7); break;
case 5: bcrystal.x =16*28; bcrystal.y = 5*32;
bcrystal.room = (Room) level.rooms.elementAt(8); break;
case 6: bcrystal.x = 4*28; bcrystal.y = 3*32;
bcrystal.room = (Room) level.rooms.elementAt(9); break;
case 7: bcrystal.x = 6*28; bcrystal.y = 8*32;
bcrystal.room = (Room) level.rooms.elementAt(10); break;
}
// Room=3 17,10
// Room=4 5,2
// Room=5 2,9
// Room=6 17,9
// Room=7 8,5
// Room=8 7,9
// Room=9 13,7
// Room=10 5,1
Item chip=null;
for (int a=0; a< level.items.size(); a++)
{
Item item = (Item) level.items.elementAt(a);
if (item.getClass().toString().endsWith("SmallChip"))
if (((GenericChip)item).label.endsWith("1"))
chip = item;
}
if (chip==null)
return;
switch (level.random.nextInt(8))
{
case 0: chip.x =17*28; chip.y =10*32;
chip.room = (Room) level.rooms.elementAt(3); break;
case 1: chip.x = 5*28; chip.y = 2*32;
chip.room = (Room) level.rooms.elementAt(4); break;
case 2: chip.x = 2*28; chip.y = 9*32;
chip.room = (Room) level.rooms.elementAt(5); break;
case 3: chip.x =17*28; chip.y = 9*32;
chip.room = (Room) level.rooms.elementAt(6); break;
case 4: chip.x = 8*28; chip.y = 5*32;
chip.room = (Room) level.rooms.elementAt(7); break;
case 5: chip.x = 7*28; chip.y = 9*32;
chip.room = (Room) level.rooms.elementAt(8); break;
case 6: chip.x =13*28; chip.y = 7*32;
chip.room = (Room) level.rooms.elementAt(9); break;
case 7: chip.x = 5*28; chip.y = 1*32;
chip.room = (Room) level.rooms.elementAt(10); break;
}
}
}