private void generateStuff()//Zaq: Current means of manually generating all the instances in the game and setting values like exits, items, and enemies
    {
        Room outside, buildingA, buildingB, buildingC, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19;

        // create the rooms
        outside = new Room("outside the university", false);
        buildingA = new Room("in the hallway of Building A", false);
        buildingB = new Room("in the hallway of Building B", true);
        buildingC = new Room("in the hallway of Building C", true);
        a10 = new Room("in room A10", true);
        a11 = new Room("in room A11", false);
        a12 = new Room("in room A12", false);
        a13 = new Room("in room A13", false);
        a14 = new Room("in room A14", true);
        a15 = new Room("in room A15", true);
        a16 = new Room("in room A16", false);
        a17 = new Room("in room A17", false);
        a18 = new Room("in the Shrine~ of the Silver Monkey.", true);
        a19 = new Room("in room A19", true);
        b10 = new Room("in room B10", false);
        b11 = new Room("in room B11", false);
        b12 = new Room("in room B12", true);
        b13 = new Room("in room B13", true);
        b14 = new Room("in room B14", false);
        b15 = new Room("in room B15", false);
        b16 = new Room("in room B16", false);
        b17 = new Room("in room B17", true);
        b18 = new Room("in room B18", false);
        b19 = new Room("in room B19", true);
        c10 = new Room("in room C10", false);
        c11 = new Room("in room C11", true);
        c12 = new Room("in room C12", false);
        c13 = new Room("in room C13", false);
        c14 = new Room("in room C14", false);
        c15 = new Room("in room C15", false);
        c16 = new Room("in room C16", true);
        c17 = new Room("in room C17", false);
        c18 = new Room("in room C18", true);
        c19 = new Room("in room C19", true);

        // initialise room exits
        outside.setExit("buildinga", buildingA);
        outside.setExit("buildingb", buildingB);
        outside.setExit("buildingc", buildingC);

        buildingA.setExit("outside", outside);
        buildingA.setExit("a10", a10);
        buildingA.setExit("a11", a11);
        buildingA.setExit("a12", a12);
        buildingA.setExit("a13", a13);
        buildingA.setExit("a14", a14);
        buildingA.setExit("a15", a15);
        buildingA.setExit("a16", a16);
        buildingA.setExit("a17", a17);
        buildingA.setExit("a18", a18);
        buildingA.setExit("a19", a19);

        buildingB.setExit("outside", outside);
        buildingB.setExit("b10", b10);
        buildingB.setExit("b11", b11);
        buildingB.setExit("b12", b12);
        buildingB.setExit("b13", b13);
        buildingB.setExit("b14", b14);
        buildingB.setExit("b15", b15);
        buildingB.setExit("b16", b16);
        buildingB.setExit("b17", b17);
        buildingB.setExit("b18", b18);
        buildingB.setExit("b19", b19);

        buildingC.setExit("outside", outside);
        buildingC.setExit("c10", c10);
        buildingC.setExit("c11", c11);
        buildingC.setExit("c12", c12);
        buildingC.setExit("c13", c13);
        buildingC.setExit("c14", c14);
        buildingC.setExit("c15", c15);
        buildingC.setExit("c16", c16);
        buildingC.setExit("c17", c17);
        buildingC.setExit("c18", c18);
        buildingC.setExit("c19", c19);

        a10.setExit("hallway", buildingA);
        a11.setExit("hallway", buildingA);
        a12.setExit("hallway", buildingA);
        a13.setExit("hallway", buildingA);
        a14.setExit("hallway", buildingA);
        a15.setExit("hallway", buildingA);
        a16.setExit("hallway", buildingA);
        a17.setExit("hallway", buildingA);
        a18.setExit("hallway", buildingA);
        a19.setExit("hallway", buildingA);

        b10.setExit("hallway", buildingB);
        b11.setExit("hallway", buildingB);
        b12.setExit("hallway", buildingB);
        b13.setExit("hallway", buildingB);
        b14.setExit("hallway", buildingB);
        b15.setExit("hallway", buildingB);
        b16.setExit("hallway", buildingB);
        b17.setExit("hallway", buildingB);
        b18.setExit("hallway", buildingB);
        b19.setExit("hallway", buildingB);

        c10.setExit("hallway", buildingC);
        c11.setExit("hallway", buildingC);
        c12.setExit("hallway", buildingC);
        c13.setExit("hallway", buildingC);
        c14.setExit("hallway", buildingC);
        c15.setExit("hallway", buildingC);
        c16.setExit("hallway", buildingC);
        c17.setExit("hallway", buildingC);
        c18.setExit("hallway", buildingC);
        c19.setExit("hallway", buildingC);

        currentRoom = outside;  // start game outside
        i1.setRoom(currentRoom);

        //set items for invetory
        //set keys
        Key a10key = new Key("a10key", "The key to room a10", 0, a10);
        Key a14key = new Key("a14key", "The key to room a14", 0, a14);
        Key a15key = new Key("a15key", "The key to room a15", 0, a15);
        Key a18key = new Key("secretkey", "This key is a secret... Don't tell anyone.", 0, a18);
        Key a19key = new Key("a19key", "The key to room a19", 0, a19);
        
        Key b12key = new Key("b12key", "The key to room b12", 0, b12);
        Key b13key = new Key("b13key", "The key to room b13", 0, b13);
        Key b17key = new Key("b17key", "The key to room b17", 0, b17);
        Key b19key = new Key("b19key", "The key to room b19", 0, b19);
        
        Key c11key = new Key("c11key", "The key to room c11", 0, c11);
        Key c16key = new Key("c16key", "The key to room c16", 0, c16);
        Key c18key = new Key("c18key", "The key to room c18", 0, c18);
        Key c19key = new Key("c19key", "The key to room c19", 0, c19);
        
        Key bkey = new Key("bkey", "The key to Building B", 0, buildingB);
        Key ckey = new Key("ckey", "The key to Building C", 0, buildingC);
        
        //set food
        Food apple = new Food("apple","One of these a day may keep away medically inclined zombies.", 0, 2);
        Food chocolate = new Food("chocolate","chocolate? Chocolate! CHOCOLAAAAAAAAAAAAAAAAAAAAAATE!!!", 0, 5);
        Food energy = new Food("energypowder","Restores Pokémon HP by 50, unfortunately that's only 5 for you.", 0, 5);
        Food ration = new Food("ration","A FOXHOUND field ration.", 0, 7);
        Food medpak = new Food("medpak","Staple medic kit seen in any proper zombie game.", 0, 10);
        
        //set weapons
        Weapon fists = new Weapon("fists", "Your own bear hands!", 2, 1, true, "pummel them with your fists.");
        Weapon shotgun = new Weapon("shotgun", "The staple weapon in any good zombie game.", 0, 4, false, "unload your buckshot all over their face.");
        Weapon rocketBelts = new Weapon("rocketbelts", "Belts with rockets.", 0, 6, false, "use rocket belts.\nAnd fire a bazooka.");
        Weapon magic = new Weapon("magic", "\"Mystic Tome of the Arcane\" is written on the cover.", 0, 10, true, "concentrate your mana into your hands and fire a fireball at the enemy.");
        Weapon crysKnife = new Weapon("Crysknife", "A powerful melee weapon that kills any monster in a single hit.", 0, 100, true, "crush your foe with the power of the Spice.");
        Weapon chocoSword = new Weapon("ChocoboSword", "Sword of the legendary Onion Knight.", 0, 5, true, "your blade lets out a thunderous \"Wark!\" as it smites your foe.");
        
        //add items to inventory
        i1.setItem(a10key);
        i1.setItem(a14key);
        i1.setItem(a15key);
        i1.setItem(a18key);
        i1.setItem(a19key);
        i1.setItem(b12key);
        i1.setItem(b13key);
        i1.setItem(b17key);
        i1.setItem(b19key);
        i1.setItem(c11key);
        i1.setItem(c16key);
        i1.setItem(c18key);
        i1.setItem(c19key);
        i1.setItem(bkey);
        i1.setItem(ckey);
        i1.setItem(apple);
        i1.setItem(chocolate);
        i1.setItem(energy);
        i1.setItem(ration);
        i1.setItem(medpak);
        i1.setItem(fists);
        i1.setItem(shotgun);
        i1.setItem(rocketBelts);
        i1.setItem(magic);
        i1.setItem(crysKnife);
        i1.setItem(chocoSword);

        //set items for rooms
        //ALL THE KEYS
        Item rooma10key = new Item("a10key", "The key to room a10", 1);
        Item rooma14key = new Item("a14key", "The key to room a14", 1);
        Item rooma15key = new Item("a15key", "The key to room a15", 1);
        Item rooma18key = new Item("secretkey", "This key is a secret... Don't tell anyone.", 1);
        Item rooma19key = new Item("a19key", "The key to room a19", 1);
        Item roomb12key = new Item("b12key", "The key to room b12", 1);
        Item roomb13key = new Item("b13key", "The key to room b13", 1);
        Item roomb17key = new Item("b17key", "The key to room b17", 1);
        Item roomb19key = new Item("b19key", "The key to room b19", 1);
        Item roomc11key = new Item("c11key", "The key to room c11", 1);
        Item roomc16key = new Item("c16key", "The key to room c16", 1);
        Item roomc18key = new Item("c18key", "The key to room c18", 1);
        Item roomc19key = new Item("c19key", "The key to room c19", 1);
        Item roombkey = new Item("bkey", "The key to room Building B", 1);
        Item roomckey = new Item("ckey", "The key to room Building C", 1);
        
        //Healing Items
        Item roomApple = new Item("apple","One of these a day may keep away medically inclined zombies.", 1);
        Item roomChocolate = new Item("chocolate","chocolate? Chocolate! CHOCOLAAAAAAAAAAAAAAAAAAAAAATE!!!", 1);
        Item roomEnergy = new Item("energypowder","Restores Pokémon HP by 50, unfortunately that's only 5 for you.", 1);
        Item roomRation = new Item("ration","A FOXHOUND field ration.", 1);
        Item roomMedpak = new Item("medpak","Staple medic kit seen in any proper zombie game.", 1);
        
        //Weapons
        Item roomRocketBelts = new Item("rocketbelts", "Belts with rockets.", 1);
        Item roomShotgun = new Item("shotgun", "The staple weapon in any good zombie game.", 1);
        Item roomMagic = new Item("magic", "\"Mystic Tome of the Arcane\" is written on the cover.", 1);
        Item roomCrysknife = new Item("Crysknife", "A powerful melee weapon that kills any monster in a single hit.", 1);
        Item roomChocoSword = new Item("ChocoboSword", "Sword of the legendary Onion Knight.", 1);
        
        //add items to rooms
        a11.setItemsInRoom(rooma10key);
        a14.setItemsInRoom(roomMedpak);
        a14.setItemsInRoom(rooma15key);
        a12.setItemsInRoom(roomApple);
        b12.setItemsInRoom(roomb13key);
        b15.setItemsInRoom(roomb12key);
        c11.setItemsInRoom(rooma18key);
        c17.setItemsInRoom(roomc11key);
        
        //add enemies
        Zombie sweissman = new Zombie("Mr.Sweissman", "It's Mr.Sweissman", 25, 0, c19, 99);//final boss
        Zombie chem = new Zombie("ChemTeacher","The \"EVIL\" chemistry teacher.",21, 50, c12, 10);//third mini-boss
        Zombie megaMan = new Zombie("MegaMan", "He's a super fighting robot", 15, 20, a19, 5);//first boss
        Zombie cutsMan = new Zombie("CutsMan", "You'll have to play the game atleast 50 times before you can make it to CutsMan.", 12, 10, a15, 3);//first mini-boss
        Zombie ganon = new Zombie("Ganon", "It is written, only Link can defeat Ganon.", 18, 30,  b19, 8);//second boss
        Zombie morshu = new Zombie("Morshu", "He can't give credit, come back when your a little, hmmm, richer.", 16, 25, b13, 6);//second mini-boss
        Zombie zombie1 = new Zombie("Zombie","A generic zombie.", 5, 5, a10, 1);
        Zombie zombie2 = new Zombie("Zombie","A zombie with a shotgun.", 4, 6, a12, 1);//shotgun zombie
        Zombie zombie3 = new Zombie("Zombie","A generic zombie.", 5, 7, a13, 1);
        Zombie zombie4 = new Zombie("Zombie","A cheerleader zombie with a chainsaw.", 7, 6, a16, 1);//girl zombie
        Zombie zombie5 = new Zombie("Zombie","A generic zombie.", 6, 5, a17, 1);
        Zombie zombie6 = new Zombie("Zombie","A generic zombie.", 8, 7, b11, 1);
        Zombie zombie7 = new Zombie("Zombie","A crazed zombie wearing a straight jacket, he foams at the mouth.", 9, 8, b12, 1);//bite
        Zombie zombie8 = new Zombie("Zombie","A generic zombie.", 8, 9, b16, 1);
        Zombie zombie9 = new Zombie("Zombie","A generic zombie.", 9, 8, b17, 1);//punch
        Zombie zombie10 = new Zombie("Zombie","A generic zombie.", 8, 7, b18, 1);
        Zombie zombie11 = new Zombie("Zombie","A generic zombie.", 10, 9, buildingC, 1);
        Zombie zombie12 = new Zombie("Zombie","A generic zombie.", 10, 10, c10, 1);
        Zombie zombie13 = new Zombie("Zombie","A screeching dire zombie.", 12, 11, c13, 1);//screech
        Zombie zombie14 = new Zombie("Zombie","A generic zombie.", 10, 10, c14, 1);
        Zombie zombie15 = new Zombie("Zombie","A generic zombie.", 10, 9, c16, 1);
        Zombie zombie16 = new Zombie("SecretZombie","A peculiar weapon concealing zombie.", 20, 13, a18, 1);//secret zombie
        Zombie zombie17 = new Zombie("Zombie","A generic zombie.", 5, 13, c18, 1);
        Zombie zombie18 = new Zombie("Zombie","A generic zombie.", 5, 13, outside, 1);//un-used
        Zombie zombie19 = new Zombie("Zombie","A generic zombie.", 5, 13, outside, 1);//un-used

        //add attacks
        Attack doNothing = new Attack("does nothing...", 0);//Zaq: First attack should always be a do nothing type of attack
        Attack weakRub = new Attack("brushes against you, ouch.", 2);//low power attack added for testing, not very good
        Attack weakScratch = new Attack("scratches you with it's claws.", 4);//zombie weak claw attack
        Attack midScratch = new Attack("scratches you with it's claws.", 5);
        Attack midPunch = new Attack("strikes you with it's fists.", 4);
        Attack midBite = new Attack("sinks it's teeth into you.", 6);
        Attack strongBite = new Attack("sinks it's teeth into you.", 8);
        Attack strongScreech = new Attack("let's out an ear piercing screech, your ears are ringing.", 6);
        Attack shotgunSmack = new Attack("clubs you with a shotgun", 3);//for shotgun wielding zombie2
        Attack chainsaw = new Attack("blasts you with her chainsaw.", 4);//for girl zombie
        Attack megaBuster = new Attack("fires his transforming arm cannon.", 3);//megaman's main weapon, might enter into array 2 or 3 times for more frequency
        Attack doubleMegaBuster = new Attack("uses both his arm cannons to fire a more powerful blast, bet you didn't know he could do that.", 6);//megaman
        Attack hyperShell = new Attack("fires a giant bazooka that does massive damage, if it was upgraded correctly.", 5);//megaman
        Attack scizzors = new Attack("cuts, and he doesn't mean hair.", 4);//CutsMan doesn't cut hair
        Attack kungFu = new Attack("uses kung-fu to beat you senseless.", 3);//CutsMan becomes Kung-Fu Cutman
        Attack yourFace = new Attack("says \"Join me and I will make your face the greatest in  Koridai, or else you will die\", that hurt your pride.", 4);//ganon's taunt attack
        Attack bombs = new Attack("throws bombs at you, \"It's yours my friend.\"", 3);//morshu's bomb attack
        
        //attacks for zombie1
        zombie1.setBehavior(doNothing);
        zombie1.setBehavior(weakRub);
        
        //attacks for zombie2
        zombie2.setBehavior(doNothing);
        zombie2.setBehavior(weakRub);
        zombie2.setBehavior(shotgunSmack);
        
        //attacks for zombie3
        zombie3.setBehavior(doNothing);
        zombie3.setBehavior(weakRub);
        zombie3.setBehavior(weakScratch);
        
        //attacks for zombie4
        zombie4.setBehavior(doNothing);
        zombie4.setBehavior(weakRub);
        zombie4.setBehavior(weakScratch);
        zombie4.setBehavior(chainsaw);
        
        //attacks for zombie5
        zombie5.setBehavior(doNothing);
        zombie5.setBehavior(weakRub);
        zombie5.setBehavior(weakScratch);
        
        //attacks for zombie6
        zombie6.setBehavior(doNothing);
        zombie6.setBehavior(weakScratch);
        zombie6.setBehavior(midScratch);
        
        //attacks for zombie7
        zombie7.setBehavior(doNothing);
        zombie7.setBehavior(weakScratch);
        zombie7.setBehavior(midScratch);
        zombie7.setBehavior(midBite);
        
        //attacks for zombie8
        zombie8.setBehavior(doNothing);
        zombie8.setBehavior(weakScratch);
        zombie8.setBehavior(midScratch);
        
        //attacks for zombie9
        zombie9.setBehavior(doNothing);
        zombie9.setBehavior(midPunch);
        zombie9.setBehavior(midScratch);
        
        //attacks for zombie10
        zombie10.setBehavior(doNothing);
        zombie10.setBehavior(weakScratch);
        zombie10.setBehavior(midScratch);
        
        //attacks for zombie11
        zombie11.setBehavior(doNothing);
        zombie11.setBehavior(midScratch);
        zombie11.setBehavior(strongBite);
        
        //attacks for zombie12
        zombie12.setBehavior(doNothing);
        zombie12.setBehavior(midScratch);
        zombie12.setBehavior(midBite);
        zombie12.setBehavior(strongBite);
        
        //attacks for zombie13
        zombie13.setBehavior(doNothing);
        zombie13.setBehavior(midScratch);
        zombie13.setBehavior(midBite);
        zombie13.setBehavior(strongScreech);
        
        //attacks for zombie14
        zombie14.setBehavior(doNothing);
        zombie14.setBehavior(midScratch);
        zombie14.setBehavior(strongBite);
        
        //attacks for zombie15
        zombie15.setBehavior(doNothing);
        zombie15.setBehavior(midScratch);
        
        //attacks for zombie16
        zombie16.setBehavior(doNothing);
        zombie16.setBehavior(weakRub);
        
        //attacks for zombie17
        zombie17.setBehavior(doNothing);
        zombie17.setBehavior(strongBite);
        
        //attacks for MegaMan
        megaMan.setBehavior(doNothing);
        megaMan.setBehavior(megaBuster);
        megaMan.setBehavior(hyperShell);
        
        //attacks for CutsMan
        cutsMan.setBehavior(doNothing);
        cutsMan.setBehavior(kungFu);
        cutsMan.setBehavior(scizzors);
        
        //attacks for Ganon
        ganon.setBehavior(doNothing);
        ganon.setBehavior(yourFace);
        
        //attacks for Morshu
        morshu.setBehavior(doNothing);
        
        //attacks for Mr.Sweissman
        sweissman.setBehavior(doNothing);

        //put enemies in rooms
        a10.setEnemy(zombie1);
        a12.setEnemy(zombie2);
        a13.setEnemy(zombie3);
        a16.setEnemy(zombie4);
        a17.setEnemy(zombie5);
        a18.setEnemy(zombie16);
        a15.setEnemy(cutsMan); //mini-boss
        a19.setEnemy(megaMan); //1st boss
        b11.setEnemy(zombie6);
        b12.setEnemy(zombie7);
        b16.setEnemy(zombie8);
        b17.setEnemy(zombie9);
        b18.setEnemy(zombie10);
        b13.setEnemy(morshu); //2nd mini-boss
        b19.setEnemy(ganon); //2nd boss
        buildingC.setEnemy(zombie11);
        c10.setEnemy(zombie12);
        c13.setEnemy(zombie13);
        c15.setEnemy(zombie14);
        c16.setEnemy(zombie15);
        c18.setEnemy(zombie17);
        c12.setEnemy(chem); //3rd mini-boss
        c19.setEnemy(sweissman); //Final boss

        //give items to zombies
        //Building A Zombies
        zombie1.addItem(rooma14key);
        zombie2.addItem(roomShotgun);
        cutsMan.addItem(rooma19key);
        megaMan.addItem(roombkey);
        
        //Building B Zombies
        zombie8.addItem(roomb17key);
        morshu.addItem(roomb19key);
        ganon.addItem(roomckey);
        
        //Building C Zombies
        zombie11.addItem(roomc18key);
        zombie15.addItem(roomc16key);
        chem.addItem(roomc19key);
        zombie16.addItem(roomCrysknife);
        
        //assign the inventory to the player
        p1.setInventory(i1);
    }