public GameBoard()
	 {
       addKeyListener(new TAdapter());
       setFocusable(true);
       setBackground(Color.BLACK);
       setDoubleBuffered(true);

		 //---Create the elements on the board---//
		 // Put walls along the boundary
       for (int i = 0; i < BOARD_WIDTH; i += BLOCK_WIDTH){   //Top Row
		    wallList.add(new Wall(i, 0, BLOCK_WIDTH, BLOCK_HEIGHT));
	    }
		 for (int i = 0; i < BOARD_WIDTH; i += BLOCK_WIDTH){   //Bottom Row
		    wallList.add(new Wall(i, offsetBoard_Bottom, BLOCK_WIDTH, BLOCK_HEIGHT));
		 }
		 for (int i = BLOCK_HEIGHT; i < offsetBoard_Bottom; i += BLOCK_HEIGHT){   //Sides
		    wallList.add(new Wall(0, i, BLOCK_WIDTH, BLOCK_HEIGHT));
          wallList.add(new Wall(BOARD_WIDTH - BLOCK_WIDTH, i, BLOCK_WIDTH, BLOCK_HEIGHT));
		 }

		 //Create everything within the boundary
       for (int i = 0; i < numOfPlayers; i++){
		    playerList.add(new Player(randomLocation(BLOCK_WIDTH, BOARD_WIDTH - BLOCK_WIDTH), randomLocation(BLOCK_HEIGHT, offsetBoard_Bottom), BLOCK_WIDTH, BLOCK_HEIGHT));
		 }
		 for (int i = 0; i < numOfEnemies; i++){
		    enemyList.add(new Enemy(randomLocation(BLOCK_WIDTH, BOARD_WIDTH - BLOCK_WIDTH), randomLocation(BLOCK_HEIGHT, offsetBoard_Bottom), BLOCK_WIDTH, BLOCK_HEIGHT));
		 }
		 for (int i = 0; i < numOfBlocks; i++){
		    blockList.add(new Block(randomLocation(BLOCK_WIDTH, BOARD_WIDTH - BLOCK_WIDTH), randomLocation(BLOCK_HEIGHT, offsetBoard_Bottom), BLOCK_WIDTH, BLOCK_HEIGHT));
		 }
		 for (int i = 0; i < numOfWalls; i++){
		    wallList.add(new Wall(randomLocation(BLOCK_WIDTH, BOARD_WIDTH - BLOCK_WIDTH), randomLocation(BLOCK_HEIGHT, offsetBoard_Bottom), BLOCK_WIDTH, BLOCK_HEIGHT));
		 }

		 // Remove overlaps
		 removeOverlap();

		 timer = new Timer(timerSpeed, this);
   	 timer.start();
	 }