public void setup() {
		//To reduce pixelation
		smooth();
		noStroke();

		//Create an PApplet ssize of 800x700
		size(800, 700);

		//Zooming and Panning Libaries
		zoomer = new ZoomPan(this);
		zoomer.setZoomMouseButton(PConstants.RIGHT);

		//Get the observer, map and sizes
		this.obiwan = w.getObserver();
		curMap = w.getMap();
		this.xSize = curMap.getXSize();
		this.ySize = curMap.getYSize();
		
		//Load all the cell images
		rock = loadImage("rock.png");
		food = loadImage("food.png");
		antHR = loadImage("redH.png");
		antHB = loadImage("blackH.png");
		clear = loadImage("clear.png");
		antB = loadImage("blackAnt.png");
		antR = loadImage("redAnt.png");

		//Load the score board images
		scoreboard_round = loadImage("scoreboard_round.png");
		scoreboard_red = loadImage("scoreboard_red.png");
		scoreboard_black = loadImage("scoreboard_black.png");

		//Load the fonts
		f = createFont("Arial", 20, true);
		f2 = createFont("Arial", 34, true);
		
		//Create a new board with the map sizes
		board = new Hexagon[xSize][ySize];
		
		//Fill the board with Hexagons and appropriate images loaded into each hexagon
		Cell cCell;
		for (int y = 0; y < ySize; y++) {
			for (int x = 0; x < xSize; x++) {
				cCell = curMap.getCell(y, x);
				if (cCell.containsRock()) {
					board[x][y] = new Hexagon(this, rock);
				}
				else if (cCell.containsBlackAnt()) {
					board[x][y] = new Hexagon(this, antB);
				} else if (cCell.containsRedAnt()) {
					board[x][y] = new Hexagon(this, antR);
				} else if (cCell.isContainsFood()) {
					board[x][y] = new Hexagon(this, food);
				} else if (cCell.containsBlackAntHill()) {
					board[x][y] = new Hexagon(this, antHB);
				} else if (cCell.containsRedAntHill()) {
					board[x][y] = new Hexagon(this, antHR);
				} else if (cCell.isClear()) {
					board[x][y] = new Hexagon(this, clear);
				}

			}
		}



		//Load the library and create the buttons
		cp5 = new ControlP5(this);

		cp5.addSlider("speed").setPosition(10, 640).setSize(150, 20)
				.setRange(30, 500).setValue(60);
		cp5.addFrameRate().setInterval(10).setPosition(130, 645);
		cp5.addButton("endgame").setPosition(10, 670).setSize(150, 20);

	}