private boolean checkHorizontal(Cell origin) {
		int count = 1;
		Cell next = null;
		Position pos = origin.getPosition();
		
		// Count coins to the left
		if (pos.getCol() > 0) {
			// First cell to the left
			next = getCell(pos, 0, -1);
			
			// Continue left until the cell is empty or placed by another player
			while (next != null && next.getPlayer() == origin.getPlayer())
			{
				count += 1;
				next = next.getPosition().getCol() > 0 ? getCell(next.getPosition(), 0, -1) : null;
			}
		}
		
		// Count coins to the right
		if (pos.getCol() < (COLS - 1)) {
			next = getCell(pos, 0, 1);
			
			// Continue right until the cell is empty or placed by another player
			while (next != null && next.getPlayer() == origin.getPlayer())
			{
				count += 1;
				next = next.getPosition().getCol() < (COLS - 1) ? getCell(next.getPosition(), 0, 1) : null;
			}
		}
		
		if (count >= N) {
			return true;
		}
		
		return false;
	}