public GBoard() {
		//initializes the board
		board = new BlockType[HEIGHT][WIDTH];
		clearBoard(); 

		//defines edges of the board
		edges = new ArrayList<Point>();
		for (int row = 0; row < board.length; row++) {
			for (int col = 0; col < board[row].length; col++) {
				if (row < 1 || row >= HEIGHT-1)
					edges.add(new Point(col, row));
				else if (col < 1 || col >= WIDTH-1)
					edges.add(new Point(col, row));
			}
		}

		//spawns blocks
		gBlock = new GBlock(WIDTH/2, HEIGHT/2);
		mBlocks = new MBlock[] {
				new MBlock(0, 0, WIDTH, HEIGHT, Direction.LEFT),
				new MBlock(0, 0, WIDTH, HEIGHT, Direction.RIGHT),
				new MBlock(0, 0, WIDTH, HEIGHT, Direction.UP),
				new MBlock(0, 0, WIDTH, HEIGHT, Direction.DOWN)};
	}