public void paint(Graphics g) {
		double dx = this.getWidth() / (double) a.getWorld().getWidth();
		double dy = this.getHeight() / (double) a.getWorld().getHeight();

		dx = Math.min(dx, dy);
		dy = Math.min(dx, dy);

		for (int x = 0; x < a.getWorld().getWidth(); x++) {
			for (int y = 0; y < a.getWorld().getHeight(); y++) {

				switch (a.getState(x, y)) {
				case unknown:
					g.setColor(Color.LIGHT_GRAY);
					break;
				case empty:
					g.setColor(Color.WHITE);
					break;
				case solid:
					g.setColor(Color.BLACK);
					break;
				}

				if (a.isGoal(x, y)) {
					g.setColor(Color.GREEN);
				}

				if (a.isMyPosition(x, y)) {
					g.setColor(Color.RED);
				}

				g.fillRect((int) (x * dx), (int) (y * dy), (int) dx, (int) dy);
				g.setColor(Color.black);
				g.drawRect((int) (x * dx), (int) (y * dy), (int) dx, (int) dy);
			}
		}
	}