public int totalPoints(String[] levelMap) {
		boolean[][] checked = new boolean[levelMap.length][levelMap[0].length()];
		int[] dx = { 1, 0, -1, 0 };
		int[] dy = { 0, 1, 0, -1 };
		int d = 0;
		int x = 0, y = 0;
		int points = 0;
		boolean isConered = false;
		checked[0][0]=true;
		while (true) {

			int tmpX = x + dx[d];
			int tmpY = y + dy[d];
			//この条件にマッチしたら角ではない。
			if (0 <= tmpX && tmpX < levelMap[0].length() && 0 <= tmpY
					&& tmpY < levelMap.length && checked[tmpY][tmpX] == false) {
				// 前回が角でないときに前回の分を足すようにする
				if (isConered == false) {
					points += levelMap[y].charAt(x) - '0';
				}
				x = tmpX;
				y = tmpY;
				isConered = false;
			} else {
				//角のとき。
				d = (d + 1) % 4;
				// 前回も角だったら、最後のセル
				if (isConered) {
					// 最後のセルを加算
					points += levelMap[y].charAt(x) - '0';
					break;
				}
				isConered = true;
			}
			//行った場所をチェックする、
			checked[y][x] = true;

		}
		return points;
	}